温馨提示×

c语言怎么读取结构体数组

小亿
164
2023-11-23 16:51:10
栏目: 编程语言

要读取结构体数组中的数据,可以使用循环遍历结构体数组的每个元素,并分别读取每个结构体的成员变量的值。

以下是一个示例代码:

#include <stdio.h>

// 定义结构体
typedef struct {
    int id;
    char name[20];
} Student;

int main() {
    int n;
    printf("请输入学生人数:");
    scanf("%d", &n);

    // 声明并初始化结构体数组
    Student students[n];

    // 读取结构体数组的数据
    for (int i = 0; i < n; i++) {
        printf("请输入第 %d 个学生的学号:", i + 1);
        scanf("%d", &students[i].id);

        printf("请输入第 %d 个学生的姓名:", i + 1);
        scanf("%s", students[i].name);
    }

    // 打印结构体数组的数据
    printf("学生信息如下:\n");
    for (int i = 0; i < n; i++) {
        printf("学号:%d,姓名:%s\n", students[i].id, students[i].name);
    }

    return 0;
}

上述代码中,首先要读取学生的人数,然后根据人数动态声明一个结构体数组。接下来使用循环遍历结构体数组的每个元素,分别读取每个学生的学号和姓名,并保存到结构体的成员变量中。最后,再次使用循环遍历结构体数组,打印出每个学生的学号和姓名。

注意,在这个示例中,使用了动态声明结构体数组的方式,这要求编译器支持C99标准。如果编译器不支持C99标准,可以使用静态声明结构体数组的方式,即在声明结构体数组时指定固定的大小,如Student students[100];

0