联合体
code
/* 联合体学习.cpp */
#include <iostream>
using namespace std;
// 定义一个联合体 myun
// 联合体内的所有成员共享同一块内存区域
union myun {
// 联合体的第一个成员是一个结构体
struct {
int x; // 结构体中的第一个整型成员
int y; // 结构体中的第二个整型成员
int z; // 结构体中的第三个整型成员
} u;
int k; // 联合体的第二个成员是一个整型
} a;
int main() {
a.u.x = 4; // 给结构体中的 x 成员赋值 4
a.u.y = 5; // 给结构体中的 y 成员赋值 5
a.u.z = 6; // 给结构体中的 z 成员赋值 6
a.k = 0; // 赋值给整型成员 k,这会覆盖掉结构体中的 x、y、z 的值,因为它们与 k 共享同一块内存
// 打印输出:结构体成员 x、y、z 和整型成员 k 的值
printf("%d %d %d %d\n", a.u