struct will nicht recht
-
Hallo,
ich denke es ist ein sehr triviales Anfänger Problem, aber ich sehe den Fehler einfach nicht...
Es soll eine einfach verkettete Liste erstellt werden. Zunächst gibt es eine Eingabe "length" um festzusetzen, wie gross die Liste werden soll. Dann werden die Werte eingelesen und entsprechend zugewiesen.
Der Compiler meldet jedoch z.B:
warning: no semicolon at end of struct or union.
error: syntax error before "=" token
error: syntax error befor "}" tokeneine andere sehr oft auftretende Angabe ist:
error: deferencing pointer to incomplete type.#include <stdio.h> struct koordinate { struct koordinate* nachfolger = NULL; int wert = 0; }; int main() { int length; int i = 0; int wert = 0; struct koordinate* anfang = NULL; struct koordinate* next = NULL; printf("Laenge: "); scanf("%i",&length); for(i; i<length; i++) { printf("Naechste Eingabe: "); if(anfang == NULL) { anfang = (struct koordinate*) malloc(sizeof(struct koordinate)); scanf("%i",&wert); anfang->wert = wert; }else next = anfang; while(next->nachfolger != NULL) { next = next->nachfolger; } next->nachfolger = (struct koordinate*) malloc(sizeof(struct koordinate)); next = next->nachfolger; scanf("%i",&wert); next->wert; } return 0; }
Falls mir jemand sagen kann woran der Fehler liegt bzw. wie ich ihn beheben kann, wäre ich sehr dankbar!
-
Cinimo schrieb:
struct koordinate* nachfolger = NULL; int wert = 0;
Du kannst Strukturmember nicht in der Strukturdeklaration initialisieren.
anfang = (struct koordinate*) malloc(sizeof(struct koordinate));
Du solltest den Rückgabewert von malloc nicht casten.