关于网友提出的“ 结构体赋初值问题”问题疑问,本网通过在网上对“ 结构体赋初值问题”有关的相关答案进行了整理,供用户进行参考,详细问题解答如下:
问题: 结构体赋初值问题描述:
#include
struct student
{
char *name;
int score;
}stu[5];
int main(void)
{
int i;
for(i=0;i<5;i++)
scanf("%s %d",stu[i].name,&stu[i].score);
for(i=0;i<5;i++)
printf("%s\t%d\n",stu[i].name,stu[i].score);
return 0;
}
为什么为stu[5]赋初值后,程序停止工作。
解决方案1:
char *name没有分配空间,要么给他分配空间,要么改成数组比如char name[16];
解决方案2:因为你没有为指针分配地址。