C言語での共用体の初期化方法は何ですか?
C言語では、unionを初期化するために2つの方法を使用することができます。
- 使用するメンバー名を使って初期化する:特定のメンバーを初期化するために、メンバー名を使用することができます。この方法では、初期化するメンバーを指定するためにメンバー名と等号を使用する必要があります。
以下はサンプルコードです。
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のそれぞれのメンバーを初期化しています。
- 使用位置初始化也可以用来初始化结构体的成员。这种方法需要按照成员在结构体中的顺序,依次提供初始化的值。
以下はサンプルコードです。
union MyUnion {
int a;
float b;
};
int main() {
union MyUnion u1 = {10}; // 使用位置初始化
union MyUnion u2 = {3.14f};
return 0;
}
この例では、メンバーの順番に従って初期値が提供されています。この方法では、メンバー名を使用する必要はありません。
どの方法を使用しても、連合体は1つのメンバーのみを初期化し、他のメンバーは未定義の値に設定されます。