Re: Проблема с sizeof
От: Кирпа В.А. Украина  
Дата: 12.04.02 05:27
Оценка:
Здравствуйте shabshay, Вы писали:

S>Есть такой код:

S>
S>    struct s{
S>        byte b1;
S>        byte b2;
S>        int i1;
S>        byte b3;
S>    };

S>    s var;
S>    DWORD dw1 = sizeof (var);
S>    
S>    DWORD dw2 = sizeof (var.b1) + sizeof (var.b2) + 
S>        sizeof (var.i1) + sizeof (var.b3);
S>

S>Результат:
S>dw1 = 12
S>dw2 = 7
S>
S>Как это может быть?

Пробленма с выравниванием структур
Поставь выравнивание на 1 байт и dw1 станет равным dw2
!0xDEAD
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.