Union
Профсоюзов позволяет вам способ взглянуть на одни и те же данные с различных типов, или использовать одни и те же данные с различными именами. Профсоюзам аналогичные структуры. Профсоюз и объявили, используемых в пути, что же структура.
Профсоюзов отличается от структуры в том, что только один из них может использоваться в каждый момент времени. Причина этого проста. Все члены профсоюза занимать же области памяти. Они устанавливаются в верхней части друг с другом.
Союзов определены и объявлены в той же мере, в какой структуры. Единственная разница в том, что заявления является ключевое слово профсоюз используется вместо конструктор. Чтобы задать простой союз и символ переменной переменную целое, вы должны написать следующие :
union shared {
char c;
int i;
};
Этот союз, совместная, могут быть использованы для создания случаев профсоюза, который может быть либо с значению символа или Целое значения i. Это условие ИЛИ. В отличие от структуры, которая будет иметь как ценности, профсоюз может содержать только одно значение в каждый момент времени.
Профсоюз может быть инициализирована в своем заявлении. Поскольку только один член может быть использован в день, и лишь одно может быть инициализирована. Чтобы избежать путаницы, только первым членом профсоюза может быть инициализирована. Следующий пример показывает пример совместной профсоюза объявлены и инициализированы :
union shared generic_variable = {`@'};
Заметьте, что generic_variable профсоюз был инициализирован точно так же, как первый член структура будет инициализирована.
Отдельные члены профсоюза могут быть использованы таким же образом, члены этой структуры могут быть использованы с помощью члена Оператор (.) . Однако существует важное различие в оценке членов профсоюза.
Только один член профсоюза должен быть доступ по времени. Поскольку профсоюз сохраняет его членов над другой, это важно только для доступа к одному члену на время.
|