битовые поля

Битовое поле не может существовать само по себе. Оно может быть только элементом структуры или объединения. Например, в рамках структуры битовые поля имеют следующую форму определений:

struct имя_структуры
{
    тип1 имя_поля1 : ширина_поля1;
    тип2 имя_поля2 : ширина_поля2;
    //..............
    типi имя_поляi : ширина_поляi;
}

В качестве типа поля может использоваться только int, но допустимы также модификаторы signed и unsigned. имя_поля представляет произвольный идентификатор, а ширина_поля - положительное целое число, которое не должно превышать длину машинного слова для конкретной платформы (машинное слово измеряется в битах или байтах и равно разрядности регистров процессора, например, для архитектуры 64x - длина 64 бита).