Logo

郎哥编程

第47讲:结构体数组

2026-04-14 29

数组的元素也可以是结构类型,因此可以声明结构体数组,结构体数组的每一个元素都是具有相同结构类型的变量。在实际应用中,经常用结构数组来表示具有相同数据结构的数据集合。例如:学习信息管理程序的学生信息、图书管理系统的图书信息等。

声明结构体数组变量的语法和声明其它数据类数组的语法相同,声明结构体数组变量时,一般要指定数组的长度,然后在程序中对数组元素进行赋值。

例如,可以创建一个包含10个学生的结构体数组:

struct STUDENT students[10];

这个students数组包含了10个STUDENT结构体,可以通过数组索引来访问或修改数组内的结构体元素,

你可以通过数组索引来访问和修改这些结构体中的成员。下面的代码设置第一个学生的名字、年龄:

students[0].age = 20;
students[0].name = "张三";

例【1】 遍历结构体数组元素

程序清单

#include <stdio.h>
#include <string.h>
// 定义学生结构体
typedef struct {
    char name[50];
    int age;
    float score;
} Student;
int main() {
 	int i;
	// 初始化学生数组
    struct STUDENT students[3] = {
        {"张三", 20},
        {"李四", 21},
        {"王五", 19}
    };
    // 遍历学生数组并打印信息
    printf("学生信息:\n");
    for(i = 0; i < 3; i++) {
        printf("姓名:%s,年龄:%d", students[i].name, students[i].age);
	}
	return 0;
}

案例代码定义了一个名称为STUDENT的结构体,其中包含学生的姓名(一个字符数组)、年龄(一个整数)。然后,在main函数中,创建一个包含3个学生的STUDENT结构体数组,并初始化每个学生的信息。使用一个for循环遍历这个数组,并使用printf函数打印出每个学生的姓名和年龄。

代码在线纠错(通义千问 qwen-max)

支持粘贴多个代码文件,提交后由阿里云通义千问自动分析代码漏洞、语法错误、逻辑问题并给出修改建议。
您已解锁 AI 代码纠错功能,可正常使用!

评论区

登录 后发表评论
暂无评论