Datentypen in "C", Teil 4 |
|
Mit Strukturen können mehrere Variablen unterschiedlichen Typs unter einem gemeinsamen Namen zusammengefasst werden. Dies entspricht den Records in Pascal.
Die folgende Strukturdeklaration beschreibt den Datensatz für eine Personenbeschreibung:
struct person {
char name[21]; /*
Nachname mit max. 20 Stellen plus Nullbyte */
char vorname[11]; /* Vorname mit max. 10 Stellen plus Nullbyte */
int geb_tag; /*
Geburtsdatum - Tag */
int geb_monat; /* Geburtsdatum - Monat */
int geb_jahr; /* Geburtsdatum - Jahr */
};
Wir können nun eine Variable mit der gewünschten Datenstruktur definieren und mit Werten füllen. Dazu verwenden wir den Punkt-Operator '.':
struct
person pdaten;
strcpy (pdaten.name,
"Hugentobler");
strcpy (pdaten.vorname,
"Werner");
pdaten.geb_tag = 13;
pdaten.geb_monat = 8;
pdaten.geb_jahr = 1953;
Wird auf eine Strukturvariable über einen Zeiger zugegriffen, so verwenden wir anstelle des '.'-Operators den Dereferenzierungsoperator (Pfeil-Operator) '->'.
struct
person *ppdaten; /* Zeiger auf eine Struktur */
ppdaten = &pdaten; /* ppdaten zeigt jetzt auf die
Strukturvariable pdaten */
ppdaten->geb_dat = 24; /* Element geb_tag wird auf den Wert 24 gesetzt
*/
Selbstverständlich können Strukturen als Elemente wiederum Strukturen und auch Arrays enthalten.
|