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

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

Записи [D6, Win2k]


Nic2 ©   (2004-11-02 20:49:00) 

Добрый вечер.
Уважаемые мастера, кто может ответить на вопрос:
пишу:
<<<<<<<<<<<<<<<>>>>>>>>>>>>>>
type TMyRec=record
 Marker: byte;
 Time: Double;
end;
<<<<<<<<<<<<<<<>>>>>>>>>>>>>>
размер моей структуры получается 16 байт.
А если:
<<<<<<<<<<<<<<<>>>>>>>>>>>>>>
type TMyRec=record
 Marker: byte;
 Time: Double;
end;
<<<<<<<<<<<<<<<>>>>>>>>>>>>>>
то 1 байт.
А теперь вопрос, почему в первом случае размер не равен 8+1=9байт?

Заранее спасибо отозвавшимся.


Nic2   (2004-11-02 21:02:00) [1]

Спасибо отозвавшимся.


begin...end   (2004-11-02 20:59:00) [2]


> [2] Nic2   (02.11.04 20:57)

Тогда дело в отстутствии упаковки (packed).


Nic2   (2004-11-02 20:57:00) [3]

Виноват, второе объявление выглядит так:
<<<<<<<<<<<<<<<>>>>>>>>>>>>>>
type TMyRec=record
Marker: byte;
end;
<<<<<<<<<<<<<<<>>>>>>>>>>>>>>


Юрий Зотов   (2004-11-02 20:57:00) [4]

> Nic2   (02.11.04 20:49)

См. в справке слово packedи директиву $A.


begin...end   (2004-11-02 20:52:00) [5]


> Nic2   (02.11.04 20:49)


> type TMyRec=record
>  Marker: byte;
>  Time: Double;
> end;


> type TMyRec=record
>  Marker: byte;
>  Time: Double;
> end;

Что-то я не заметил разницы в этих объявлениях.


Наверх

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