ExpertiDict

C · Intermediário · Inglês · Técnico

union

/ˈjun.jən/palavra-chave

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 float

Exemplos

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

Veja também

Todos os termos de C