struct
{
int a;//这个就是按字节取
char b:7;//这种变量:加数字就表示按位取,1字节等于8位
char c:2;
cahr d:7;
};
那么sizeof(struct)是多少了?
int为4个字节 也就是0123
char b:7;表示按位取 ,且从4开始,4是1的倍数故从4开始
b:7表示7位,1个字节8位够放,
然后c:2,也就是2位,但b已经占了7位,不够放重新开辟1个字节放c
新字节中放了2位
那么放d7位不够放
又开辟一个字节放d
也就是说bcd共占3字节
也就是456
那么有人说sizeof(struct)是7
但struct要是最大类型数的倍数
double就是8,这里最大为int,所以应该是4的倍数为8