C语言结构体数组是一种数据类型,它可以用来存储多个相同类型的结构体变量。结构体是一种用户自定义的数据类型,它可以包含多个不同类型的数据成员。
定义结构体数组需要先定义结构体类型,然后声明数组变量并指定数组大小。
以下是定义结构体数组的详细步骤:
struct Student {
int id;
char name[20];
int age;
};
struct Student students[10];
上述代码定义了一个名为students的结构体数组,大小为10,可以存储10个Student类型的结构体变量。
结构体数组可以通过下标访问和修改其中的元素。下标从0开始,最大值为数组大小减1。
// 访问结构体数组元素
students[0].id = 1001;
strcpy(students[0].name, "John");
students[0].age = 20;
// 修改结构体数组元素
students[1].id = 1002;
strcpy(students[1].name, "Mike");
students[1].age = 21;
上述代码将结构体数组中的第一个元素的id设置为1001,name设置为"John",age设置为20。将结构体数组中的第二个元素的id设置为1002,name设置为"Mike",age设置为21。
结构体数组可以通过循环遍历来访问和修改所有元素:
for (int i = 0; i < 10; i++) {
printf("ID: %d\n", students[i].id);
printf("Name: %s\n", students[i].name);
printf("Age: %d\n", students[i].age);
printf("\n");
}
上述代码使用循环遍历输出结构体数组中的所有元素的id、name和age。
结构体数组的定义和使用可以方便地存储和操作多个相同类型的结构体变量。