typedef struct { unsigned char d01 : 2; unsigned char d02 : 2; unsigned char d03 : 2; unsigned short d04 : 2; //违背1 } stData1; typedef struct { unsigned short d01 : 2; unsigned short d02 : 2; unsigned short d03 : 2; unsigned short d04 : 12; //违背2 unsigned short d05 : 2; unsigned short d06 : 2; unsigned short d07 : 2; unsigned short d08 : 8; } stData2; int main ( void ) { stData1 my_data1; stData2 my_data2; return ( 0 ); }