/***************************************************************/ /* Prof. Dr. Carsten Vogt */ /* FH Koeln, Fak. 07 / Nachrichtentechnik */ /* http://www.nt.fh-koeln.de/vogt */ /* */ /* Beispielprogramm p04050102.c */ /* aus "C fuer Java-Programmierer", Hanser-Verlag */ /* */ /* Demonstriert wird die Arbeit mit einer Union, die in eine */ /* Struktur eingebettet ist. */ /***************************************************************/ #include #include int main(void) { union anginfo_union { char name[12]; int personalnummer; }; struct anginfo { char art; union anginfo_union info; }; struct anginfo ainf = { 'n' , { "Schmitz" } }; if (ainf.art=='n') { printf("Name: %s\n\n",ainf.info.name); printf("(Inhalt der Komponete 'personalnummer': %d)\n\n",ainf.info.personalnummer); } else { printf("Nummer: %d\n\n",ainf.info.personalnummer); printf("(Inhalt der Komponente 'name': %s)\n\n",ainf.info.name); } ainf.art = 'p'; ainf.info.personalnummer = 4231; printf("\nNach Zuweisung an ainf.info.personalnummer:\n\n"); if (ainf.art=='n') { printf("Name: %s\n\n",ainf.info.name); printf("(Inhalt der Komponete 'personalnummer': %d)\n\n",ainf.info.personalnummer); } else { printf("Nummer: %d\n\n",ainf.info.personalnummer); printf("(Inhalt der Komponente 'name': %s)\n\n",ainf.info.name); } return 0; }