C言語でのネストされた構造体


まず、ネストされた構造体を定義する方法です。以下の例では、"Person"という構造体があり、その中に"Address"という構造体が含まれています。

#include <stdio.h>
struct Address {
    char city[50];
    char street[50];
};
struct Person {
    char name[50];
    int age;
    struct Address address;
};
int main() {
    struct Person person1;

    // ネストされた構造体の値を設定
    strcpy(person1.name, "John");
    person1.age = 25;
    strcpy(person1.address.city, "Tokyo");
    strcpy(person1.address.street, "Main Street");

    // ネストされた構造体の値を表示
    printf("Name: %s\n", person1.name);
    printf("Age: %d\n", person1.age);
    printf("City: %s\n", person1.address.city);
    printf("Street: %s\n", person1.address.street);

    return 0;
}

上記の例では、"Person"構造体内に"Address"構造体が含まれています。これにより、1つの"Person"オブジェクトに名前、年齢、住所の情報を格納することができます。

また、ネストされた構造体を使用する際には、ドット演算子(.)を使用して構造体メンバにアクセスします。例えば、上記のコードでは、"person1.address.city"という形で住所の都市名にアクセスしています。

ネストされた構造体は、より複雑なデータ構造を作成する際に役立ちます。例えば、複数のネストされた構造体を使用して、連絡先リストや社員データベースなどを表現することができます。

以上がC言語でのネストされた構造体の基本的な使い方といくつかのコード例です。これを参考にして、自身で構造体をネストさせる方法を試してみてください。