我正在尝试将一些数据打包到一个结构中。
结构定义如下:
#pragma pack(push)
#pragma pack(1)
struct Data
{
unsigned char i:2;
unsigned short r:14;
unsigned short c:14;
};
#pragma pack(pop)
由于位数是 30,pack 是 1,我的理解是这个结构的大小应该是 4,但是编译器说它的大小是 5 字节。
我正在使用 Visual Studio 2012。
请注意,它们是位域。
它的大小为 4:
struct Data
{
unsigned short i:2;
unsigned short r:14;
unsigned short c:14;
};