#pragma pack(1)
struct{
union{
int p1; union{ char p2; int p3; };
};
int p4;
char p5;
} a;
#pragma pack(0)
union{ char p2; int p3; };
union{ int p1; // 4字节 内层联合体; // 4字节(见上) };
struct{ 外层联合体; // 4字节 int p4; // 4字节 char p5; // 1字节 };