/* unionst.c */ #include #define mies 0 #define nainen 1 typedef struct { int syn_lapsia; int armeija_kayty; } tTiedot; typedef struct { char nimi[40]; int 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,{0,1}}, Maija = {"Maija",nainen,{4,0}}; tulosta_henkilo(&Matti); tulosta_henkilo(&Maija); return 0; }