まず、ネストされた構造体を定義する方法です。以下の例では、"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言語でのネストされた構造体の基本的な使い方といくつかのコード例です。これを参考にして、自身で構造体をネストさせる方法を試してみてください。