我很想知道为什么具有相同数据类型的位字段比使用混合数据类型更小.
struct xyz
{
int x : 1;
int y : 1;
int z : 1;
};
struct abc
{
char x : 1;
int y : 1;
bool z : 1;
};
Run Code Online (Sandbox Code Playgroud)
sizeof(xyz)= 4 sizeof(abc)= 12.
我正在使用VS 2005,64位x86机器.
一台机器/编译器级别的答案会很棒.