gpt4 book ai didi

c - 指向结构中指针的指针

转载 作者:太空宇宙 更新时间:2023-11-04 08:38:10 25 4
gpt4 key购买 nike

有人可以帮助解释为什么我的这部分代码不起作用吗?

typedef struct {
char *something;
} random;

random *rd;
rd->something = calloc(40, sizeof(char)); // This is the line which crashes
strncpy(rd->something, aChar, 40);

如果我这样写程序就可以运行:

random rd;
rd.something = calloc(40, sizeof(char));
strncpy(rd.something, aChar, 40);

但我认为在处理内存时这是错误的,这就是为什么我需要第一种情况的帮助。

最佳答案

没有内存分配给 rd 指向的结构。

尝试:

typedef struct {
char *something;
} random;

random *rd = malloc (sizeof(random));
rd->something = calloc(40, sizeof(char)); // This is the line which crashes
strncpy(rd->something, aChar, 40);

关于c - 指向结构中指针的指针,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25266043/

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