![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Записи [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;
Что-то я не заметил разницы в этих объявлениях.