Zeiger auf strukturierte Daten

Index vorige Seite nächste Seite

Die Grundlage für Listen wird aus einzelnen Strukturen gebildet, die durch Zeiger verbunden sind. Die Behandlung von durch Zeiger referenzierten Strukturen ist ähnlich der Behandlung statischer Strukturen. Hier zum Vergleich verschiedene Operationen mit einer statischen Struktur:

Die vorausgehenden Deklarationen könnten so aussehen:
float fvar=52.8194;
char cv;
struct{int i;float f;char c;} rec;
Die Struktur rec kann dann beispielsweise nach folgenden Mustern verändert werden:
Und nun das Gleiche mit einer dynamischen, zeigerreferenzierten Struktur:

Die vorausgehenden Deklarationen könnten so aussehen:
float fvar=52.8194;
char cv;
typedef struct{int i;float f;char c;} rectyp;
rectyp *rec_z;
rec_z = new rectyp;
Die Struktur *rec_z kann nach folgendem Muster bearbeitet werden:
Anstatt des Punktes wird in diesem Fall also ein Minus und das Größerzeichen als ein Pfeil zwischen Struktur- und Teilvariablennamen geführt.

Vor Programmende muß natürlich die Struktur wieder aus dem Speicher gelöscht werden:
delete rec_z;
Nun besteht auch die Möglichkeit, einen Zeiger in eine Struktur einzubinden, der wiederum auf eine Struktur zeigt. Auch dazu ein einfaches Beispiel:
typedef struct{float f; char c;} rec2;
typedef struct{int i; float f; rec2 *unterrec;} rec1;
rec1 *reczeiger;
Die Speicherfreigabe sieht so aus:
delete reczeiger->unterrec;
delete reczeiger;


Index vorige Seite nächste Seite

Autor: Ulrich Kritzner