一個結構體變量能夠存放一個學生的一組信息,但是若是有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);