一个结构体变量能够存放一个学生的一组信息,但是若是有10个学生?难道要定义10个结构体变量?,很明显不现实,这时就要使用数组。结构体中也有数组,称为结构体数组。他与前面讲过的数组类型几乎一摸同样,只不过须要注意的是,结构体数组的每个元素都是一个结构体类型的变量,都包含结构体中全部的成员项。数组
定义结构体数组的方法很简单,同定义结构体变量同样的,只不过将变量改为数组。或者说桶前面介绍的普通数组如出一辙的,只不过将变量改为数组。ide
struct STUDENT stu[10];
这就定义了一个结构体数组,一共 10 个元素,每个元素都是一个结构体变量,都包含全部的结构体成员。
结构体数组的引用与引用一个结构体变量在原理上是同样的。只不过是结构体数组中有多个结构体变量,咱们只须要利用 for 循环一个一个地使用结构体数组中的元素。code
下面咱们来写一个程序string
#include<stdio.h> #include<string.h> struct STU { char name[20]; int age; char sex; char num[20]; } void OutputSTU(struct STU stu[5]); int main(void) { int i; struct STU stu[5]; for(i=0; i<5; ++i) { printf("请输出第 %d 个学生的信息:\n", i+1); scanf("%s%d %c%s", stu[i].name, &stu[i].age, &stu[i].sex, stu[i].num); OutputSTU(stu);