/* union.c */ #include typedef enum { mies, nainen } tSukupuoli; typedef union { int syn_lapsia; int armeija_kayty; } tTiedot; typedef struct { char nimi[40]; tSukupuoli sukupuoli; tTiedot tiedot; } tHenkilo; void tulosta_henkilo(tHenkilo *henkilo) { printf("Nimi: %-40s\n",henkilo->nimi); switch (henkilo->sukupuoli) { case mies: printf("Mies, armeija k„yty: %d\n",henkilo->tiedot.armeija_kayty); break; case nainen: printf("Nainen, synnyttanyt lapsia: %d\n",henkilo->tiedot.syn_lapsia); break; default: printf("Eunukki\n"); } } int main(void) { tHenkilo Matti = {"Matti",mies,1}, Maija = {"Maija",nainen,4}; tulosta_henkilo(&Matti); tulosta_henkilo(&Maija); return 0; }