1 #pragma pack(push, 1) 2 struct Struct { 3 unsigned char a : 1; 4 unsigned char b : 1; 5 unsigned char c : 6; 6 unsigned short int d : 16; 7 unsigned char e : 8; 8 }; 9 #pragma pack(pop) 10 11 struct Inner { 12 unsigned short a: 16; 13 unsigned short b: 16; 14 }; 15 16 #pragma pack(push, 1) 17 struct Outer { 18 struct Inner inner; 19 }; 20 #pragma pop 21