#include <stdio.h>
int main(void)
{
union V {
struct X {
unsigned char s1:2;
unsigned char s2:3;
unsigned char s3:3;
} x;
unsigned char c;
} v;
v.c = 100; // 输出如下: (小端机器,即小地址放小字节数据)
printf("s1 = %d\n", v.x.s1); // 0
printf("s2 = %d\n", v.x.s2); // 1
printf("s3 = %d\n", v.x.s3); // 3
printf("c = %d\n", v.c); // 100
return 0;
}