struct Bitsfield { int a:1; }; // 敢问sizeof(Bitsfield)等于多少? // 1Byte?还是等于sizeof(int)?
此帖意在提问,结构体的size是否和这个成员a的类型有关?不过实际a又只使用一个位。
根据运行结果是sizeof(int), 虽然按位对齐,但是结构体占用的空间又受成员最大数据类型的影响(这是结构体本身的规则)!
好吧, 既然客官来应答.我决定一人分10分给你们.
我只是想提问一个结构体中使用位域, 这个结构的Size是否和位域具体类型有关.
struct Bits { int a:1; };
struct Bys { int a; };
试问 以下几个size是否相等;
sizeof(Bits);
sizeof(Bys);
sizeof(int);
结果都相等?是否有标准可参?
都说是bit了,你还问1Byte?
等于sizeof(int)的,只是a只占一个二进制位
struct Bitsfield { int a:1; int b:1;};这个也是4
好吧, 既然客官来应答.我决定一人分10分给你们.
我只是想提问一个结构体中使用位域, 这个结构的Size是否和位域具体类型有关.
struct Bits { int a:1; };
struct Bys { int a; };
试问 以下几个size是否相等;
sizeof(Bits);
sizeof(Bys);
sizeof(int);
结果都相等?是否有标准可参?