
上QQ阅读APP看书,第一时间看更新
10.2 结构体数组与结构体指针
10.2.1 结构体数组
一个结构体变量能存放一组数据,例如上一节所讲的一名学员的学号、姓名、性别、年龄、地址、出生年月。那如果想存放10名学员的数据呢?显然得用数组,这就是结构体数组。结构体数组与普通数组非常类似,可以把每个数组元素都看成是一个结构体变量,上一节定义了student结构,本节就以这个结构(结构体类型可以简称为“结构”)为基础进行代码演示。
那怎样定义这个结构体数组呢?
(1)单独写成一行来定义。

(2)定义结构时顺便定义结构体数组。看如下代码的结构体末尾:

当然,在定义结构体数组时,也可以顺便进行初始化。看如下代码:

定义的时候初始化还可以不指定数组元素个数,此时系统根据初始化的这些值自动推断出数组的元素是多少个。看如下代码:

可以看到,定义时的初始化的一般形式为:

然后可以像使用普通结构体变量一样使用结构体数组。看如下代码:
