在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