typedef union humano {
int razao;
int emocao;
int fe;
} pessoa;Então, vamos aos detalhes técnicos. Em C, quando você declara algo como struct, você está criando uma estrutura onde todos os elementos lá dentro fazem parte de algo maior que engloba todos os elementos. Ou seja, você pode acessar qualquer membro da estrutura individualmente.
No entanto, quando você declara algo como union, você está criando uma estrutura onde todos os elementos na verdade usam o mesmo espaço de memória, ou seja, você nunca poderá usar mais de um dos elementos declarados ao mesmo tempo, pois ao usar um deles, o elemento usado ocupará toda a memória disponível.
Daí você se pergunta: "Mas o que isso têm a ver com a declaração acima?" É simples, e
Se você usa a razão, a emoção e a fé são coisas irracionais;
Se você usa a emoção, a razão é fria e a fé cega;
Se você usa a fé, a razão é louca e a emoção manipulável.
Assim explico o motivo de usar union e não struct. Beijos e se não gostou, vai carpir um terreno que esse ódio passa.