<分区>
为什么是这段代码:
#include <iostream>
struct S {
unsigned char a:6, b:6, c:6, d:6;
};
int main(int argc, char *argv[]) {
std::cout << sizeof(S);
return 0;
}
返回 4?它的大小不应该是 4 x 6 = 24b = 3B 吗?相反,这段代码:
struct S { unsigned char a:4, b:4, c:4, d:4; };
返回一个 2,而这个:
struct S { unsigned char a:4, b:4, c:4, d:4, e:4, f:4; };
返回一个 3...