Основы программирования для автоматизированного проектирования и решения творческих задач - 29 стр.

UptoLike

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

П р и м е р 21
struct
{
short a: 12;
short : 4;
short b: 10;
} Pr ;
Рис. 9 Размещение битовых полей в структуре с выравниванием
В примере 21 между полями a и b находится поле из четырех бит. Так как это поле не имеет имени,
то обратиться к нему невозможно. Главное назначение этого полясоздать промежуток между
именованными битовыми полями, чтобы их размещение в оперативной памяти совпадало с
размещением обычных полей. Этот порядок иллюстрирует рис. 9.
П р и м е р 22
Применение битовых полей.
union
{
unsigned char c;
struct
{
unsigned b0: 1;
unsigned b1: 1;
unsigned b2: 1;
unsigned b3: 1;
unsigned b4: 1;
unsigned b5: 1;
unsigned b6: 1;
unsigned b7: 1;
} byte;
} cod;
cod.c = 'a';
printf("%u", cod.byte.b4);
В примере 22 показана возможность обращения к отдельным битам поля с, которое хранит код сим-
вола.
11.5 Файлы
Файл представляет собой последовательность данных произвольной длины, которая имеет некото-
рую логическую организацию и хранится на внешнем носителе. Особенностью языка С является отсут-
ствие в самом языке средств работы с файлами и, как следствие, заранее сформированных представле-
ний о структуре файлов. Поэтому все файлы рассматриваются как последовательность байтов, заканчи-
вающаяся особым кодом, обозначающим их окончание. Функции языка С позволяют осуществлять по-
токовый ввод-вывод и ввод-вывод нижнего уровня. При потоковом вводе-выводе обмен данными про-
b : 10 a : 12
4