Основы программирования на языке Си. Кучин Н.В - 71 стр.

UptoLike

Составители: 

71
Здесь addr – шаблон структуры, определенный перед объявлением
структуры fulladdr и объявлением переменной а типа структуры fulladdr.
Для присвоения значения полю house структуры addres переменной а
используем
a.adress.house = 234;
6.2. Доступ к отдельным битам
В отличие от многих других языков программирования язык С обес-
печивает доступ к одному или нескольким битам в байте или слове. В
конкретных задачах часто бывает необходимо, чтобы некоторая пере-
менная принимала только два значения. Для этого достаточно исполь-
зовать только один бит памяти. Такая переменная, по своему содержа-
тельному смыслу, является некоторым признаком или флагом.
Один из методов, встроенных в язык С и позволяющий иметь доступ
к биту, – это поля битов (bit-fields). В действительности поля битов –
это специальный тип членов структуры, в котором определено, из сколь-
ких бит состоит каждое поле. Основная форма объявления такой струк-
туры следующая:
struct имя_структуры {
тип имя1: длина в битах;
тип имя2: длина в битах;
тип имя3: длина в битах;
. . .
тип имяN: длина в битах;
};
В этом объявлении структуры тип может быть одним из следующих:
int, unsigned, signed.
Имя1 может быть пропущено, тогда соответствующее количество бит
не используется (пропускается ). Длина структуры в целом всегда крат-
на восьми. Так, если указать
Struct onebit{
Unsigned one_bit: 1;
} obj;
Здесь для переменной obj будет выделено 8 бит, но использоваться
будет только первый. В структуре также могут быть смешаны обычные
переменные и поля битов.