結(jié)構(gòu)變量的初始化
如果結(jié)構(gòu)變量是全局變量或?yàn)殪o態(tài)變量, 則可對它作初始化賦值。對局部或自動結(jié)構(gòu)變量不能作初始化賦值。
[例7.2]外部結(jié)構(gòu)變量初始化。
struct stu /*定義結(jié)構(gòu)*/
{
int num;
char *name;
char sex;
float score;
} boy2,boy1={102,"Zhang ping",'M',78.5};
main()
{
boy2=boy1;
printf("Number=%d\nName=%s\n",boy2.num,boy2.name);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
struct stu
{
int num;
char *name;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
main()
{
boy2=boy1;
……
}
本例中,boy2,boy1均被定義為外部結(jié)構(gòu)變量,并對boy1作了初始化賦值。在main函數(shù)中,把boy1的值整體賦予boy2, 然后用兩個printf語句輸出boy2各成員的值。