C言語での共用体の初期化方法は何ですか?

C言語では、unionを初期化するために2つの方法を使用することができます。

  1. 使用するメンバー名を使って初期化する:特定のメンバーを初期化するために、メンバー名を使用することができます。この方法では、初期化するメンバーを指定するためにメンバー名と等号を使用する必要があります。

以下はサンプルコードです。

union MyUnion {
    int a;
    float b;
};

int main() {
    union MyUnion u1 = {.a = 10}; // 使用成员名初始化
    union MyUnion u2 = {.b = 3.14f};

    return 0;
}

この例では、メンバー名.aおよび.bを使用して、組合せu1およびu2のそれぞれのメンバーを初期化しています。

  1. 使用位置初始化也可以用来初始化结构体的成员。这种方法需要按照成员在结构体中的顺序,依次提供初始化的值。

以下はサンプルコードです。

union MyUnion {
    int a;
    float b;
};

int main() {
    union MyUnion u1 = {10}; // 使用位置初始化
    union MyUnion u2 = {3.14f};

    return 0;
}

この例では、メンバーの順番に従って初期値が提供されています。この方法では、メンバー名を使用する必要はありません。

どの方法を使用しても、連合体は1つのメンバーのみを初期化し、他のメンバーは未定義の値に設定されます。

bannerAds