Geschrieben von edvo am 16.06.2004, 18:07

Begriffsklärung und Definition

Unter einer Struktur versteht man eine Zusammenfassung von mehreren Variablen, die
auch verschiedene Datentypen haben können, zu einer Einheit. Diese Einheit läßt sich
dann mit einem gemeinsamen Namen ansprechen.
Beispiel für eine Strukturdefinition:
struct schueler {
char name[31]; /* Nachname */
char vorname[31]; /* Vorname */
char klasse[4]; /* Klasse */
int nummer; /* Katalognummer */
int noten[15]; /* Noten */
};
Mit obiger Definition wird noch kein Speicherplatz reserviert, sondern nur der Aufbau der
Struktur beschrieben. Im Prinzip entspricht die Definition einer Struktur der Definition eines
neuen Datentyps, hier struct schueler. Nun können von diesem Typ Variable, Felder
und Pointer definiert werden:
struct schueler sch1, sch2; /* Definition von zwei Strukturvariablen */
struct schueler sArray[10]; /* Definition eines Feldes der Größe 10 */
struct schueler *schptr; /* Def. eines Pointers vom Typ struct schueler */
Man kann die Definition und das Erzeugen von Variablen auch zusammenfassen. Diese
Vorgangsweise ist allerdings nur dann sinnvoll, wenn man solche Variable global oder nur
in einer Funktion benötigt:
struct schueler {
/* Definition der Strukturkomponenten */
} sch1, sch2;
In Standard-C muss immer der vollständige Typname wie z.B. struct schueler
angegeben werden, während in C++ nach der Definition der Struktur der Typ auch über
schueler alleine angesprochen werden kann. Um die ständige Angabe des vollen
Typnamens zu vermeiden, ist in diesem Zusammenhang die Verwendung von typedef
gebräuchlich:
typedef struct {
/* Definition der Strukturkomponenten */
} SCHUELER;
/* Definition der Variablen:*/
SCHUELER sch1, sch2, *schptr, sArray[10];

Bewertung Anzahl