结构体数组的访问
结构体数组的访问是指对结构体数组元素的访问,由于结构体数组的每个元素都是一个结构体变量,因此,结构体数组元素的访问就是对数组元素中的成员进行访问,其语法格式如下:
结构体数组[索引].成员名
为了帮助读者更好地掌握结构体数组的访问,接下来通过一个案例输出结构体数组中的所有成员,如例1所示。
例1 structArr.c
1 #include <stdio.h>
2 struct Student //定义struct Student结构体类型
3 {
4 int num;
5 char name[10];
6 char sex;
7 };
8 int main()
9 {
10 //定义struct Student结构体数组students并初始化
11 struct Student students[3]={{0001,"Zhang San",'M'},
12 {0002, "Li Si",'W'},
13 {0003, "Zhao Liu",'M'}
14 };
15 for (int i = 0; i < 3; i++) //利用for循环访问数组students中元素
16 {
17 printf("%04d %s %c\n",
18 students[i].num,students[i].name,students[i].sex);
19 }
20 return 0;
21 }
例1运行结果如图1所示。
图1 例1运行结果
在例1中,第2~7行代码定义了struct Student结构体类型;第11~14行代码定义了struct Student结构体类型的数组students,并进行初始化;第15~19行代码利用for循环访问数组students的元素,访问结构体数组元素其实就是访问数组元素中的成员,首先通过students[i]获取结构体数组元素,然后通过“students[i].成员”方式访问元素的各个成员。由图1可知,程序成功访问了struct Student结构体数组students各元素成员。