Frage zu Struct Pointern

calgonite

Grünschnabel
Hi,

eine Frage zu C++ Strukturen, ich möchte eine Struktur (Array) erzeugen, die als Teil einen Pointer hat, der auf Elemente dieser Struktur zeigt. Wie geht das?

struct myStruct {
(... Elemente wie float char etc)
zeiger* preventry;
zeiger* nextentry;
};

myStruct struktur[10];

struktur[0].prevletter = letterlist[0];

Was muss bei Zeiger stehen?

Vielen Dank.

:-)
 
Hey,

was du dir auf jeden Fall noch raussuchen müsstest, ist ein Tut. über verkettete Listen.
Aber auf die Schnelle ungefähr so:

struct myStruct {
(... Elemente wie float char etc)
//zeiger* preventry;
myStruct *preventry;
//zeiger* nextentry;
myStruct *nextentry;
};

myStruct struktur[10];

struktur[0].preventry = NULL; // vor dem ersten Element existiert nichts
struktur[0].nextentry = struktur[1]; // die Adresse des 2.Elements
Immer so weiter bis zum letzten Element, dort dann:
struktur[9].preventry = struktur[8]; // Adresse des 9.Elements
struktur[9].nextentry = NULL // nach dem letzten Element existiert nichts mehr

Die Zeiger, die nicht den End- und den Anfangspunkt(auch Anker genannt) darstellen, müssen auf NULL gesetzt werden , damit alle Zeiger auf ihrer Gültigkeit überprüfbar sind.

Ich hoffe damit kommst du schon weiter.

Gruß Sabst
 
In C++ würde ich an Deiner Stelle keine verkettete Liste mehr selber programmieren. Der Aufwand und die Fehleranfälligkeit sind einfach zu hoch.
Ich benutze die Datentypen aus der STL, wie z.B. list, deque und map.
Die werden als Templates angesprochen, wodurch man alle möglichen Datentypen und Objekte abspeichern kann.
 
Verkettete Listen

In C++ würde ich an Deiner Stelle keine verkettete Liste mehr selber programmieren. Der Aufwand und die Fehleranfälligkeit sind einfach zu hoch. Ich benutze die Datentypen aus der STL, wie z.B. list, deque und map. Die werden als Templates angesprochen, wodurch man alle möglichen Datentypen und Objekte abspeichern kann.
Das ist wohl war, aber auch nur für einen produktiven Einsatz.
Wenn es darum geht das Prinzip von verketteten listen zu verstehen, dann bietet es sich schon an eine selbst zu erstellen.
myStruct struktur[10];
Allerdings hat das wenig mit verketteten Listen zu tun das ist ja nur ein Array. Warum muss ich da wissen, welches Element das nächste ist?
Sinn macht es, wenn der Speicher dynamisch auf dem Heap allokiert wirt.
Außerdem gibt es hier im Forum 1-3 wünderschöne Threads über verkettete Listen, mit einem Beispiel.

Gruß Homer
 
Zurück