Я написал эту структуру:
struct bmpheader {
unsigned char magic[2];
unsigned int fsize;
unsigned int unused;
unsigned int pixdata_offset;
unsigned int headersize;
unsigned int width;
unsigned int height;
unsigned short planes_color;
unsigned short bpp;
unsigned int compression;
unsigned int sizeofpix;
unsigned int resolutionx;
unsigned int resolutiony;
unsigned int colors;
unsigned int imp_colors;
};
И у меня проблема с функцией sizeof. Когда я рассчитываю на мои пальцы, это каждый раз 54 байта для меня. Функция sizeof дает мне каждый раз 56. Почему? Проблема с массивом без знака, когда я удаляю массив magic [2], sizeof равен 52? sizeof (header.magic) отображается как 2. Насколько я знаю, unsigned char имеет тип 1 байт?
Заранее спасибо за ответы.
Marcin