C++结构体数组
一个结构体变量中可以存放一组数据(如一个学生的学号、姓名、成绩等数据)。如果有10个学生的数据需要参加运算,显然应该用数组,这就是结构体数组。结构体数组与以前介绍过的数值型数组的不同之处在于:每个数组元素都是一个结构体类型的数据,它们都分别包括各个成员项。
定义结构体数组和定义结构体变量的方法相仿,定义结构体数组时只需声明其为数组即可。如:
struct Student //声明结构体类型Student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
};
Student stu[3]; //定义Student类型的数组stu
也可以直接定义一个结构体数组,如:
struct Student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}stu[3];
或
struct
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}stu[3];
结构体数组的初始化与其他类型的数组一样,对结构体数组可以初始化。如:
struct Student
{
int num;
char name[20];
char sex;
int age;
float score;
char addr[30];
}stu[3]={
{10101,″Li Lin″, ′M′, 18,87.5, ″103 Beijing Road″},
{10102,″Zhang Fun″,′M′,19,99, ″130 Shanghai Road″},
{10104,″Wang Min″,′F′, 20,78.5, ″1010 Zhongshan Road″}
};
定义数组stu时,也可以不指定元素个数,即写成以下形式:
stu[ ]={{…},{…},{…}};
编译时,系统会根据给出初值的结构体常量的个数来确定数组元素的个数。一个结构体常量应包括结构体中全部成员的值。
当然,数组的初始化也可以用以下形式&#