C言語で構造体配列を初期化する方法
C言語では、構造体配列を初期化する方法は次のとおりです。
- 配列のインデックスに従って、構造体の要素を順次初期化します。
struct Person {
char name[20];
int age;
};
int main() {
struct Person people[3];
strcpy(people[0].name, "Alice");
people[0].age = 20;
strcpy(people[1].name, "Bob");
people[1].age = 25;
strcpy(people[2].name, "Charlie");
people[2].age = 30;
return 0;
}
- まとめて初期化:配列の要素に順番に代入する構造体の初期化データを中括弧で囲む。
struct Person {
char name[20];
int age;
};
int main() {
struct Person people[3] = {
{"Alice", 20},
{"Bob", 25},
{"Charlie", 30}
};
return 0;
}
- インデックス指定初期化:配列のインデックスを使用して、構造体の要素を指定の位置で初期化します。
struct Person {
char name[20];
int age;
};
int main() {
struct Person people[3] = {
[0] = {"Alice", 20},
[1] = {"Bob", 25},
[2] = {"Charlie", 30}
};
return 0;
}
どの方式を採用しても、具体的な要件に応じて構造体配列を初期化することができます。