Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

SizeOf() [D6, Win95/98]


aev ©   (2002-07-31 08:06:00) 

Уважаемые мастера!! Помогите разобраться с такой проблемой.
Известно, что SizeOf(SmallInt) = 2 и SizeOf(LongInt) = 4
Но почему

rec = record
a : SmallInt;
b : LongInt;
end;

SizeOf(rec) = 8, а не 6.


panov   (2002-07-31 08:15:00) [1]

Почитай внимательнее про record.
Вот в таком виде размер будет тот, какой ты хочешь видеть:
rec = packedrecord
a : SmallInt;
b : LongInt;
end;


В таком -
rec = record
и aи bвыравниваются на границу 4б.


Alx2   (2002-07-31 08:13:00) [2]

см. Aligned Records в опциях компилятора


Наверх

Титульная страница Поиск, карта сайта Написать письмо