gpt4 book ai didi

c - Malloc 结构内的数组

转载 作者:太空狗 更新时间:2023-10-29 17:01:28 28 4
gpt4 key购买 nike

我正在尝试 malloc 一个结构内的数组,但在运行该程序时我不断遇到段错误。

compares 函数只是我正在测试的东西,所以它不应该是问题的一部分

typedef struct {
char *string;
} prod_t;

int
main(int agrc, char **argv){
int i = 0;
prod_t *c = NULL;

char str2[100] = "abcd";
c->string = (char *) malloc( 5 * sizeof(char));
strcpy(c->string,str2);

compares(c->stock,str2,i);

return 0;
}

最佳答案

问题是您正在为字符串分配空间,但您根本没有分配结构。 c 仍设置为 NULL 并且您正在尝试取消引用它。

在分配给它的成员之前为结构分配空间

prod_t *c = malloc(sizeof(prod_t));

并且,作为您的next-to-fix 错误的旁注:此字段不存在

c->stock

关于c - Malloc 结构内的数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30309165/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com