2.10.2 结构体数组
结构体数组是一个数组,其数组的每一个元素都是结构体类型。在实际应用中,经常用结构体数组来表示具有相同数据结构的一个群体,如一个班的学生档案,一个车间职工的工资表等。定义结构体数组和结构体变量相仿,只需说明它为数组类型即可。
比如定义一个结构体数组student,包含3 个元素:student[0]、student[1]、student[2],每个数组元素都具有struct address的结构形式,并对该结构体数组进行初始化赋值:
- struct address
- {
- char name[30]; /*姓名,字符数组作为结构体中的成员*/
- char street[40]; /*街道*/
- unsigned long tel; /*电话,无符号长整型作为结构体中的成员*/
- unsigned long zip; /*邮政编码*/
- }student[3]={
- {"Zhang","Road NO.1",111111,4444},
- {"Wang"," Road NO.2",222222,5555},
- {"Li"," Road NO.3",333333,6666}
- }
说明
当对全部元素进行初始化赋值时,也可不给出数组的长度。
访问结构体数组成员的一般格式为:
- 结构数组名[下标].成员名
比如通过语句:
- printf("%s",student[1].name);
便可实现打印student数组中第1 个元素的name成员值。