Bit fields of base type char cannot be larger than 8 bits. Bit fields of base type short cannot be larger than 16 bits. The components of a structure are laid out in memory in the order they are declared. The first component has the same address as the entire structure. Each additional component follows its predecessor in the immediately following byte.
Bit fields can have any integral type.
ANSI89 is specified, and the type is other than int , unsigned int , or signed int . Bit fields are allocated within the unit from low order to high order. If a bit field immediately follows another bit field, the bits are packed into adjacent space, even if this overflows into another byte. However, if an unnamed bit field is specified to have length 0, filler is added so the bit field immediately following starts on the next byte boundary. The DEC C User's Guide for OpenVMS Systems has examples and diagrams of OpenVMS VAX bit-field alignment.