struct problem
-
Hallo,
ich hab die unten gezeigte Struktur.
/* Typedefs */ typedef struct list* List; typedef struct tree* Tree; typedef struct treedata Treedata; /* Informationen eines Knotens */ struct treedata { int filesize; char filetype; char filename[61]; }; /* Knoten eines Baumes */ struct tree { Treedata data; List children; }; /* Listenelement */ struct list { Tree data; List next; };
Und ich möchte von list auf treedata zugreifen. Wie geht das? Hab es wie folgt probiert, kriege aber immer einen Speicherzugriffsfehler. Hoffe jemand kann mir dazu einen Tip geben.
List insertListElement(List l, Treedata t) { if (isEmptyList(l)) { l = malloc(sizeof(*l)); if (!l) { perror("blääääääääääää"); exit (1); } l->next = 0; l->data->data = t; // hier passiert der Speicherzugriffsfehler!! return l; } .....
Vielen Dank und viele Grüsse
-
Du musst erstmal den Speicher reservieren, bevor du ihn benutzten darfst.
l = malloc(sizeof(*l)); l->data = malloc(sizeof(struct tree));
-
ok danke dir. werd ich gleich mal machen.
-
Ist ja witzig... Die Übung kommt mir ziemlich bekannt vor
Bis wann musst du das Prog denn fertig haben?
-
WedelMann schrieb:
Ist ja witzig... Die Übung kommt mir ziemlich bekannt vor
Bis wann musst du das Prog denn fertig haben?Immer raus mit den Details
-
Hehe... Naja, ich halte mich da mal raus
http://www.fh-wedel.de/~bek/c/uebws05/ueb09.html
@c-noob:
Wurde auch in der Einführungsveranstaltung gesagt wie man den Speicher bereit stellt