我有一个结构Person,有一个名字,id和孩子的数量。 我正在尝试为名字,id和孩子的数量创建一个动态数组。继续收到错误“未初始化的本地变量'名称'使用”
Person *person;
printf("Add a person to the game? (0|1)");
scanf("%c",&dummy);
scanf("%d",&input);
while (input == 1)
{
person->name =(char*)malloc(strlen(arr));
if (person->name == NULL)
return NULL;
person->id = (int*)malloc(ID*sizeof(int));
if (person->id == NULL)
return NULL;
person->kids = (char*)malloc(kidNum * sizeof(char*));
}
答案 0 :(得分:2)
我不是C专家,但看到你的代码似乎你正在创建一个指向结构的指针,然后你的指针没有被初始化为任何东西。这可能是您遇到问题的原因。我不确定正确的语法,但试试这个:
Person* person = malloc(sizeof(Person));