typedef union
{
unsigned char person;
struct
{
unsigned char xingbie : 1;
unsigned char age : 8; //由于是“char”类型,此处最大为8,否则报错①
}bits;
{
unsigned char person;
struct
{
unsigned char xingbie : 1;
unsigned char age : 8; //由于是“char”类型,此处最大为8,否则报错①
}bits;
}person_def;
①错误 C2034 “main::<unnamed-tag>::age”: 位域类型对位数太小
unsigned char xingbie : 1;
:1 表示 xingbie 变量占1位
:8 表示 age 变量占8位
而整个联合体大小为 struct bits的大小,为2字节