定义结构体数组和初始化结构体数组,访问,修改,遍历结构体数组
在C语言中,结构体数组是指一个由结构体类型的元素组成的数组。这种数组允许我们存储多个结构体实例,并可以通过索引来访问每个结构体。
定义结构体
首先,我们需要定义一个结构体类型。例如,定义一个代表学生信息的结构体:
#include <stdio.h> struct Student{ char name[50]; int age; float gpa; };
定义结构体数组
接下来,我们可以定义一个结构体数组。
我们可以在定义时初始化结构体数组:
//初始化结构体数组 struct Student students[3]={ {"Tom",20,3.5}, {"Jane",21,3.7}, {"Bob",19,3.8} };
访问和修改结构体数组的元素
我们可以通过数组索引来访问和修改结构体数组的元素:
printf("=================访问结构体数组的元素=======================\n"); //访问结构体数组的元素 printf("name:%s,age:%d,GPA:%.2f \n",students[0].name,students[0].age,students[0].gpa); printf("=================修改Bob的年龄=======================\n"); //修改Bob的年龄 students[1].age=22; printf("name:%s,age:%d,GPA:%.2f \n",students[1].name,students[1].age,students[1].gpa);
遍历结构体数组
可以使用循环来遍历结构体数组:
printf("=================遍历结构体数组=======================\n"); //遍历结构体数组 for(int i=0; i<3; i++) { printf("name:%s,age:%d,GPA:%.2f \n",students[i].name,students[i].age,students[i].gpa); }
下面是一个完整的示例程序,它定义了一个结构体数组,初始化并输出其中的元素:
#include <stdio.h> struct Student{ char name[50]; int age; float gpa; }; void main() { //定义个包含3个学生的数组 struct Student students[3] //初始化结构体数组 struct Student students[3]={ {"Tom",20,3.5}, {"Jane",21,3.7}, {"Bob",19,3.8} }; printf("=================访问结构体数组的元素=======================\n"); //访问结构体数组的元素 printf("name:%s,age:%d,GPA:%.2f \n",students[0].name,students[0].age,students[0].gpa); printf("=================修改Bob的年龄=======================\n"); //修改Bob的年龄 students[1].age=22; printf("name:%s,age:%d,GPA:%.2f \n",students[1].name,students[1].age,students[1].gpa); printf("=================遍历结构体数组=======================\n"); //遍历结构体数组 for(int i=0; i<3; i++) { printf("name:%s,age:%d,GPA:%.2f \n",students[i].name,students[i].age,students[i].gpa); } }
编译运行:
还没有留言,还不快点抢沙发?