【发布时间】:2011-09-08 16:49:32
【问题描述】:
我有这个 C++ 结构:
struct bmp_header {
//bitmap file header (14 bytes)
char Sign1,Sign2; //2
unsigned int File_Size; //4
unsigned int Reserved_Dword; //4
unsigned int Data_Offset; //4
//bitmap info header (16 bytes)
unsigned int Dib_Info_Size; //4
unsigned int Image_Width; //4
unsigned int Image_Height; //4
unsigned short Planes; //2
unsigned short Bits; //2
};
它应该是 30 字节,但 'sizeof(bmp_header)' 给我的值是 32。怎么了?
【问题讨论】:
-
s/It is supposed to be 30 bytes/The sum total of each member is 30 bytes/ -
还有下次请先搜索一下。
-
尝试将第一个更改为
char Sign[2];。 -
不过,归根结底,它并没有太大的区别,因为由于填充,如果你有一个
bmp_header结构数组或类似的东西,填充将被包括在内无论如何,在数组的元素之间。