在C语言中,结构体数组是一种特殊的数据类型,可以用于存储和操作多个结构体对象。结构体数组由多个相同类型的结构体对象组成,每个对象可以包含多个不同类型的成员变量。
使用结构体数组可以使程序更加灵活和高效。以下是一些常见的用法:
- 定义结构体数组:首先需要定义一个结构体类型,在此基础上可以定义一个结构体数组。例如:
struct Student {
char name[20];
int age;
float score;
};
struct Student students[100]; // 定义了一个包含100个结构体对象的结构体数组
- 初始化结构体数组:可以通过遍历数组并为每个结构体对象分配初始值来初始化结构体数组。例如:
for (int i = 0; i < 100; i++) {
students[i].age = 18;
students[i].score = 90.0;
}
- 访问结构体数组的元素:可以使用下标运算符(`[]`)来访问结构体数组中的特定元素。例如:
printf("第一个学生的姓名:%s\n", students[0].name);
- 遍历结构体数组:可以使用循环结构(如`for`循环)来遍历整个结构体数组,并对每个元素进行操作。例如:
for (int i = 0; i < 100; i++) {
printf("学生%d的姓名:%s\n", i+1, students[i].name);
}
- 使用结构体数组作为函数参数:可以将结构体数组作为参数传递给函数,以便在函数内部对结构体数组进行操作。例如:
void printStudents(struct Student students[], int size) {
for (int i = 0; i < size; i++) {
printf("学生%d的姓名:%s\n", i+1, students[i].name);
}
}
printStudents(students, 100);
结构体数组是一种非常常用的数据结构,可以广泛应用于各种需要存储和操作多个相关数据的场景。