ВУЗ:
Составители:
Рубрика:
Особенностью битовых полей является то, что нельзя получить их
адрес. Размещение битовых полей в памяти зависит от компилятора
и аппаратуры.
4.9.6. Объединения
Объединение (union) – это частный случай структуры. Все поля
объединения располагаются по одному и тому же адресу. Длина объеди-
нения равна наибольшей из длин его полей. В каждый момент времени
в такой переменной может храниться только одно значение. Объедине-
ния применяют для экономии памяти, если известно, что более одного
поля не потребуется. Также объединение обеспечивает доступ к одному
участку памяти с помощью переменных разного типа.
Пример 102
union{
char s[12];
int x;
}u1;
0 1 2 3 . . . . 9
x- занимает 2 байта
S – занимает 10 байтов
Рис. 24. Расположение объединения в памяти
Переменные s и x располагаются на одном участке памяти. Размер
такого объединения будет равен 10 байтам.
Пример 103. Использование объединений
enum paytype{CARD,CHECK};//тип оплаты
struct{
paytype ptype;/*поле, которое определяет с ка-
ким полем объединения будет*/
// выполняться работа
union{
char card[25];
long check;
};
}info;
switch (info.ptype)
{
184
Страницы
- « первая
- ‹ предыдущая
- …
- 182
- 183
- 184
- 185
- 186
- …
- следующая ›
- последняя »
