阅读量:1
在C语言中,可以使用两种方法来初始化联合体:
- 使用成员名初始化:可以使用成员名来初始化联合体的特定成员。这种方法需要使用成员名和等号来指定初始化的成员。
示例代码如下:
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; }
在这个例子中,根据成员的顺序,依次提供了初始化的值。这种方法不需要使用成员名。
无论使用哪种方法,联合体只能初始化一个成员,其他成员将被置为未定义的值。