【发布时间】:2013-04-08 00:42:54
【问题描述】:
正如您在下面的代码中看到的那样,我有两个结构父子结构。父结构有一个子类型的指针数组。程序进入 for 循环时出现分段错误。我的代码有什么问题吗? 我不想使用方括号的原因是我有一个函数,它接受一个子类型的指针参数,我想将每个子指针传递给该函数而不需要使用 &。
任何帮助将不胜感激 谢谢
#include <stdio.h>
#include <string.h>
#include <stdlib.h>
typedef struct {
int id;
} child;
typedef struct {
child** c;
} parent;
int main(int argc, char **argv) {
int number_of_children = 5;
parent* p = (parent*)malloc(sizeof(parent));
p -> c = (child **) malloc(number_of_children * sizeof(child*));
int i;
for(i=0; i<number_of_children; i++)
p -> c[i] -> id = i;
}
【问题讨论】:
-
您还需要为
child*s 指向的内容分配内存。
标签: c pointers memory-management malloc structure