在C++、c语言中增加了占位符,目的是为了减少内存的使用,但是现在内存已经不是瓶颈了,进而很少用占位符了
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("%d", v.x.s3);
分析:
十进制100对应的二进制为: 01100100
使用了占位符,二进制表示为:
s1: 00
s2: 001
s3: 011
因此结果是:3