Модуль 10. Структуры
Объединения
Объединение, называемое также смесью, - это участок памяти, который используется несколькими разными переменными или другими объектами программы, причем типы этих переменных или объектов могут быть различными.
–Практически смесь - это специальный тип структуры, в котором
•все элементы имеют нулевое смещение относительно ее начала,
•правильное выравнивание в памяти (на начало байта или слова), чтобы можно было работать со всеми смешиваемыми типами.
Описание смеси выполняется аналогично описанию обычной структуры с заменой ключевого слова struct на слово union, например:
union mix
{
int number; double var; char symbol; char *string;
}umix;
–В каждый момент времени эта смесь типа mix может содержать одно из четырех значений, а что именно - это должен помнить сам программист.
Все операции манипулирования со смесями полностью аналогичны операциям со структурами.
Смеси могут быть элементами записей и массивов и наоборот.
–Одно из интересных применений смеси состоит в том, что с ее помощью можно создать массив, состоящий из элементов одинакового размера, каждый из которых может содержать различные типы данных, - гетерогенный массив.