Doppelt verkette Liste
-
Hi,
Anfänger braucht Hilfe bei Listen.
Und zwar geht es bei mir nur um die richtige Definition und Zugriff, wenn ich mehrere c. und eine zentrale .h Datei habe.
Sprich:
Header:typedef struct data { int wert; char array[50]; short wert2; double wert3; struct data *next; struct data *previous; }DATA; typedef struct { DATA *anfang; DATA *ende; }PKT;
Wenn ich *anfang, *ende global definiere (falls nur 1 datei fuer den gazen Code), weiss ich wie's geht, da ich dann kein 2tes struct brauche.
Aber wie kann ich jetzt mit diesen 2 structs arbeiten?
EinDATA *zeiger; PKT *punkte; if(punkte->ende == NULL) { if((punkte->ende=(DATA*)malloc(sizeof(DATA))) == NULL) { fprintf(stderr, "Error: couldn't initialize space\n"); return; } }
gibt segmentation fault.
Was mir jetzt noch einfällt, wäre, ende und anfang in der Main global zu definieren und dann beide per Referenzparameter an jede Funktion zu übergeben.
Das ist ihmo aber viel schreibkram und sicherlich unelegant?!
Wie kann ich denn nun sinnvoll mit zwei verschachtelten structs arbeiten.Grüsse und vielen Dank
-
1. Thou not shalt cast malloc!
punkte
zeigt ins Nirvana, dafür musst du auch Speicher reservieren.
-
Stimmt, bloed von mir.
Vielen Dank