![]() Vorherige Seite |
![]() Eine Ebene hoch |
![]() Nächste Seite |
---|
Wie wird nun auf die Elemente von Strukturen zugegriffen? Zur Veranschaulichung soll die Funktion PrintAdr dienen:
void PrintAdr(struct Adresse a) { printf("Name: %s %s\n", a.Vorname, a.Nachname); printf("Geburtsdatum: %02d.%02d.%04d\n", a.GebTag, a.GebMon, a.GebJahr); }
Der Funktion PrintAdr wurde die Struktur Adresse als einziger Parameter übergeben. Der Parameter erhält lokal den Namen a. Die Elemente werden angesprochen, indem der Name des Elementes mit einem Punkt getrennt hinter den Namen der Variablen (hier dem Parameter) geschrieben wird. Der Ausdruck a.GebMon liefert den vorher eingegebenen Geburtsmonat und ist wie das entsprechende Element vom Typ char.
(Die Anweisung printf wurde hier mit einigen Varianten verwendet. In dem Formatstring wurde zwischen dem Prozentzeichen und dem Typbezeichner eine Zahl eingesetzt, welche die Breite der Zahl angibt. Die führende Null bewirkt, dass bei kleineren Zahlen die freien Stellen vor der Zahl mit Nullen aufgefüllt werden. Das Datum 1. Juli 1998 würde als '01.07.1998' ausgegeben werden. Obwohl GebMon und GebTag vom Typ char sind, werden sie als sie mit %d als Platzhalter für int korrekt verarbeitet. Das liegt an der Tatsache, dass die Typen char und short ohne weitere Angaben in int umgewandelt werden.)