()
{
struct stu /*定义结构*/
{
int num;
char *ncom;
char sex;
float score;
}boy2,boy1={102,"Zhang ping",'M',78.5};
boy2=boy1;
printf("Number=%d\nNcom=%s\n",boy2.num,boy2.ncom);
printf("Sex=%c\nScore=%f\n",boy2.sex,boy2.score);
}
本例中,boy2,boy1 均被定义为外部结构变量,并对 boy1 作了初始化赋值。在 main 函
数中,把 boy1 的值整体赋予 boy2,然后用两个 printf 语句输出 boy2 各成员的值。
11.6 结构数组的定义
数组的元素也可以是结构类型的。因此可以构成结构型数组。结构数组的每一个元素都
是具有相同结构类型的下标结构变量。在实际应用中,经常用结构数组来表示具有相同数据
结构的一个群体。如一个班的学生档案,一个车间职工的工资表等。
方法和结构变量相似,只需说明它为数组类型即可。
例如:
struct stu
{
int num;
char *ncom;
char sex;
float score;
}boy[5];
定义了一个结构数组 boy,共有 5 个元素,boy[0]~boy[4]。每个数组元素都具有 struct
stu 的结构形式。对结构数组可以作初始化赋值。
例如:
struct stu
{
int num;
char *ncom;
char sex;
float score;
}boy[5]={
{101,"Li ping","M",45},
{102,"Zhang ping","M",62.5},
{103,"He fang","F",92.5},
{104,"Cheng ling","F",87},
{105,"Wang ming","M",58};
}
当对全部元素作初始化赋值时,也可不给出数组长度。
【例 11.3】计算学生的平均成绩和不及格的人数。
struct stu
{
int num;
char *ncom;
char sex;
float score;
}boy[5]={
{101,"Li ping",'M',45},
{102,"Zhang ping",'M',62.5},
{103,"He fang",'F',92.5},
{104,"Cheng ling",'F',87},
{105,"Wang ming",'M',58},
};
m