C · Intermediário · Inglês · Técnico
union
Tipo composto cujos membros compartilham o mesmo espaço de memória. Ocupa o tamanho do maior membro, e só um deles guarda um valor significativo por vez.
Onde usar
Usada em variantes etiquetadas, em protocolos binários e para reinterpretar bytes. Precisa de um campo extra que indique qual membro está ativo.
Em código
union valor {
int i;
float f;
};
union valor v;
v.i = 7;
// v.f lê os mesmos bytes como floatExemplos
We use a union plus a tag to store either an int or a float.
Usamos uma union com uma tag para guardar um int ou um float.
The union is as big as its largest member.
A union tem o tamanho do seu maior membro.
Cuidado
Esperar que o compilador registre qual membro foi escrito por último; esse controle é seu.
Sinônimos
união
Antônimos
struct