C言語で構造体配列を初期化する方法

C言語では、構造体配列を初期化する方法は次のとおりです。

  1. 配列のインデックスに従って、構造体の要素を順次初期化します。
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;
}
  1. まとめて初期化:配列の要素に順番に代入する構造体の初期化データを中括弧で囲む。
struct Person {
    char name[20];
    int age;
};

int main() {
    struct Person people[3] = {
        {"Alice", 20},
        {"Bob", 25},
        {"Charlie", 30}
    };

    return 0;
}
  1. インデックス指定初期化:配列のインデックスを使用して、構造体の要素を指定の位置で初期化します。
struct Person {
    char name[20];
    int age;
};

int main() {
    struct Person people[3] = {
        [0] = {"Alice", 20},
        [1] = {"Bob", 25},
        [2] = {"Charlie", 30}
    };

    return 0;
}

どの方式を採用しても、具体的な要件に応じて構造体配列を初期化することができます。

bannerAds