我需要 C 中指针的帮助。我有两个结构,一个结构是这样的:
typedef struct s{
s2** d;
struct s* next;
}s;
typedef struct s2{
c* fi;
struct s2* next;
}s2;
我有一个这样的功能:
void modify(c* a, s2* b){ //c* is a pointer to a struct
s* rd = malloc(sizeof(s);
rd->next = NULL;
//need also to initialize the field "d" of the "s" struct
}
这会产生错误。我需要结构 rd 指向 b ,如示例中所示。我需要存储一个双指针,因为 s2 以类似列表的方式链接,所以我需要 ** 指针才能删除列表的第一个元素。我在 rd->d = &b 之类的评论中进行了赋值,但是当我尝试在函数中尊重字段“d”时,我读取的内存无效,我不明白为什么。