C语言结构体数组
如果有若干相同结构体类型的数据要进行处理,我们需定义基类型为相应结构体类型的数组来描述数据。这样的数组称为结构体数组。结构体数组用来描述各种复杂数据,在程序设计中经常用到,请读者特别加以关注。
结构体数组的定义与结构体变量的定义一样有以下三种形式:
(1)struct标识符
{成员表};
struct标识符数组名[常量];
(2)struct标识符
{成员表}数组名[常量];
(3)struet
(成员表)数组名[常量];
例如,100个同学的情况,我们可以定义结构体数组allst描述:
struct student
(int no;
char name[8]; -
char sex}
int age;
float score[31];
float tcj,acj}
}allst[100];
结构体数组相当于一个广义的二维数组,结构体数组的初始化与二维数组的初始化类似。对结构体数组的整体操作需转化成对数组的分量下标变量进行。结构体数组的分量下标变量是结构体类型变量,对结构体数组分量的操作要转化成对结构体分量字段变量进行。字段变量是相应基类型变量,如是复杂类型需继续进行转化。
对结构体数组allst的操作要转化成对allst[i]进行操作,而allst[i]的操作要转化成对allst[i].n0、allst[i].name、allst[i].sex、allst[i].age、allst[i].score、allst[i].tcj、allst[i].acj行操作。allst[i].no、allst[i].name、allst[i].sex、allst[i].age、allst[i].score、allst[i].tcj、allst[Fi].acj相当于对应基类型的量。