Redian新闻
>
知道这里计算机的大牛多,问个题目~
avatar
知道这里计算机的大牛多,问个题目~# JobHunting - 待字闺中
g*4
1
在c里面用非动态的array保存非动态的一个struct信息,为什么struct里面的信息在
declare过后不久,里面就乱了
是cs107里面的第3个作业。
以下是详细说明:
typedef struct
{
void* elems;
int elemSize;
int loglength;
int alloclength;
void (*freeFn)(void *);
} vector;
typedef struct {
vector (*arr)[];
int elemSize;
.....

} hashset;
在declare一个hashset h后,在hashsetNew(&h, ...)给里面的参数都赋了值,在
hashsetNew()里面测试参数一切正常
但是当&h被pass到另一个function里面,vector里面的参数全都乱了套
困扰好几天了,求助~~
avatar
p*e
2
h被pass到另一个function之前的值对么?

【在 g**4 的大作中提到】
: 在c里面用非动态的array保存非动态的一个struct信息,为什么struct里面的信息在
: declare过后不久,里面就乱了
: 是cs107里面的第3个作业。
: 以下是详细说明:
: typedef struct
: {
: void* elems;
: int elemSize;
: int loglength;
: int alloclength;

avatar
g*4
3
错的
出了declaration那个地方,里面的值就乱了

【在 p***e 的大作中提到】
: h被pass到另一个function之前的值对么?
avatar
f*n
4
"arr" 是一个pointer to array。"arr"指着什么?可能是指着的东西没了。
相关阅读
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。