结构体中可以有数组类型的成员,数组的元素也可以是结构体。数组和结构体的初始化是一样的,都是把各个元素放在一个大括号里,各个成员用逗号分隔。
//结构体数组使用示例
#include<stdio.h>
#include<string.h>
int main()
{
struct student
{
int number;
char name[20];
char sex;
int age;
char addr[30];
};
//定义数组的同时,对数组前2个元素(结构体)进行了初始化
struct student s[3] = { {10000,"Zhang",'m',21,"Shang Hai"},
{10001,"Li",'f',20,"Bei Jing"} };
//对第3个元素进行赋值
s[2].number = 10002;
s[2].sex = 'm';
s[2].age = 22;
strcpy(s[2].name,"Liu");
strcpy(s[2].addr,"Guang Dong");
//将上述3个元素输出到屏幕
printf("%d,%s,%c,%d,%s\n",s[0].number,s[0].name,s[0].sex,s[0].age,s[0].addr);
printf("%d,%s,%c,%d,%s\n",s[1].number,s[1].name,s[1].sex,s[1].age,s[1].addr);
printf("%d,%s,%c,%d,%s\n",s[2].number,s[2].name,s[2].sex,s[2].age,s[2].addr);
return 0;
}