c语言结构体变量

来源:百度知道 编辑:UC知道 时间:2024/06/08 07:57:10
给结构体赋值的时候
struct student
{
int number;
char name[3];
int age;
char school[3];
float grade;
}s2;
下面的写法为什么编译不通过啊/
s2={12,"ok",21,"oh",99};

你说的这种情况只能用于定义的时候的初始化,可以用大括号赋值,如果前面定义了,再赋值这样就不行了,只能单个赋值。你可以这样:
struct student
{
int number;
char name[3];
int age;
char school[3];
float grade;
}s2={12,"ok",21,"oh",99};

不能那样赋值。只能单个来。
s2.number=12;
s2.name="ok";
s2.age=21;
……

综上一楼,和二楼的答案就可以了