構造体配列を読み込むにはC言語でどうすればいいですか。
構造体配列内のデータを読み取るには、構造体配列内の各要素をループで繰り返し処理し、各構造体のメンバ変数の値を個別に読み取ります。
以下にサンプルコードを示します。
#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;
}
上記のコードでは、最初に学生の人数を取得し、次にその数に基づいて構造体配列を動的に宣言します。次に、ループを使用して構造体配列の各要素を反復処理し、各学生の ID と名前を読み込んで、それらを構造体のメンバ変数に格納します。最後に、再びループを使用して構造体配列を反復処理し、各学生の ID と名前を出力します。
C99 規格に対応したコンパイラを使用している場合は、動的に構造体配列を宣言する方式が利用できますが、そうでない場合は、構造体配列を宣言する際に固定サイズを指定する静的な宣言方式を使用する必要があります。例: Student students[100];