Udostępnij za pośrednictwem


Wypełnienie i wyrównanie struktur członkowskich

ANSI 3.5.2.1 Dopełnienie i wyrównanie elementów członkowskich struktur oraz to, czy pole bitowe może połączyć granicę jednostki magazynu

Elementy członkowskie struktur są przechowywane sekwencyjnie, w kolejności, w której były zadeklarowane: pierwszy element członkowski ma najniższy adres pamięci, a ostatni element członkowski – najwyższy.

Każdy obiekt danych ma wymaganie wyrównania. Wymaganie wyrównania dla wszystkich danych z wyjątkiem struktur, związków i tablic jest rozmiarem obiektu lub bieżącym rozmiarem pakowania (określonym z /Zp lub pack pragma, w zależności od tego, która wartość jest mniejsza). W przypadku struktur, związków i tablic wymaganie wyrównania jest największym wymaganiem wyrównania swoich elementów członkowskich. Każdy obiekt jest przydzielany przesunięcie, tak aby

wymagania dotyczące wyrównania przesunięcia % == 0

Sąsiadujące pola bitowe są pakowane w takie same 1-, 2- lub 4-bajtowe jednostki alokacji, jeśli typy całkowite mają taki sam rozmiar i jeśli następne pole bitowe pasuje do bieżącej jednostki alokacji bez przekraczania granicy nałożonej przez wspólne wymagania wyrównania pól bitowych.

Zobacz też

Struktury, złożenia, wyliczenia i pola bitowe