1. union
通过union
可以创建一个联合体,union
中的成员变量共享内存,因此union
的数据类型大小由其最大的成员变量决定;
1.1. 语法
union 联合体名称
{
变量类型 变量名称;
变量类型 变量名称;
...
}
1.2. 用法示例
union USER {
short sHP;
int nHP;
}
2. union 的特点
union
中的成员变量共享内存,因此union
的数据类型大小由其最大的成员变量决定;
union USER {
short sHP;
int nHP;
};
int main()
{
USER user;
std::cout << sizeof(user); // 4
}
3. 匿名联合体和结构体
常规联合体和结构体都是有名字的,但是有的时候可以省略名字,使用别名访问:
union USER {
union
{
short sMP;
} uni;
struct
{
int nVP;
} str;
};
int main()
{
USER user;
user.uni.sMP = 500;
user.str.nVP = 100;
}