Добрый день. Подскажите пожалуйста почему оператор sizeof когда я опредеяю структуру:
struct tmp
{
DWORD a;
UCHAR b;
};
возвращает мне значение 8, а не 5:
int aa = sizeof (tmp);
?
Ведь насколько я знаю: sizeof(DWORD) = 4, sizeof(UCHAR) = 1. Если эти две переменные в структуре объявлять по одиночке:
struct tmp1
{
DWORD a;
};
struct tmp1
{
UCHAR b;
}
то всё всё возвращается нормально. Может это что-то связанно с выравниванием данных по границам слов?
Спасибо за ответ.