sizeof(BITMAPFILEHEADER)
WinDef.hでのWORDとDWORDの定義は以下の通り
typedef unsigned short WORD;
typedef unsigned long DWORD;
WinGDI.hでのBITMAPFILEHEADERの定義は以下の通り
typedef struct tagBITMAPFILEHEADER {
WORD bfType;
DWORD bfSize;
WORD bfReserved1;
WORD bfReserved2;
DWORD bfOffBits;
} BITMAPFILEHEADER, FAR *LPBITMAPFILEHEADER, *PBITMAPFILEHEADER;
cout << sizeof(BITMAPFILEHEADER) << endl;
したら、結果は「14」
でも、自分で上記の定義をしてsizeofしたら結果は「16」
はぁ???
たぶん、メモリ境界の関係で、自分で定義したら
WORD
WORD
DWORD
WORD
WORD
DWORD
になってるんだろうけど、なんで???え〜??
Windows.h定義と自前定義で何が違うんだろう????