Union
Uma união permite-lhe uma maneira olhar os mesmos dados com tipos diferentes, ou usar os mesmos dados com nomes diferentes. As uniões são similares às estruturas. Uma união é declarada e usada nas mesmas maneiras que uma estrutura é.
Uma união difere de uma estrutura nesse somente de seus membros pode ser usada em um momento. A razão para esta é simples. Todos os membros de uma união ocupam a mesma área de memória. São colocados no alto de se.
As uniões são definidas e declaradas na mesma forma que estruturas. A única diferença nas declarações é que a união do keyword está usada em vez do struct. Para definir uma união simples de um char variável e de uma variável de inteiro, você escreveria o seguinte:
union shared {
char c;
int i;
};
Esta união, compartilhada, pode ser usada criar exemplos de uma união que possa prender um valor c do caráter ou um valor i. do inteiro. Isto é OU circunstância. Ao contrário de uma estrutura que prenda ambos os valores, a união pode prender somente um valor de cada vez.
Uma união pode ser inicializada em sua declaração. Porque somente um membro pode ser usado em um momento e somente um pode ser inicializado. Para evitar a confusão, somente o primeiro membro da união pode ser inicializado. O seguinte código mostra um exemplo da união compartilhada que está sendo declarada e inicializada:
union shared generic_variable = {`@'};
Observar que a união generic_variable estêve inicializada apenas porque o primeiro membro de uma estrutura seria inicializado.
Os membros de união individuais podem ser usados na mesma maneira que os membros da estrutura podem ser usados usando o operador do membro (.). Entretanto, há uma diferença importante em membros de união de acesso.
Somente um membro de união deve ser alcançado em um momento. Porque uma união armazena seus membros no alto de se, é importante alcançar somente um membro de cada vez.
|