verkettete listen
-
asdasdasd
-
Es wäre hilfreich, wenn du den Rest der Fehlermeldung auch noch posten würdest. Was mir auffällt ist, daß du die Adresse der Zeigervaiablen (also ein "struct produkt **") an die Ausgabe-Funktion übergibst - das könnte auch die Stelle sein, über die dein Compiler gestolpert ist.
Ansonsten noch:
- "zeiger" wird nur als Hilfsvariable in der main() verwendet, also kannst du die Variable auch lokal definieren
- wenn ich das richtig gesehen habe, steht der Startpunkt deiner Liste in der Variablen "anfang"
- am Ende solltest du auch alle angeforderten Speicherbereiche zurückgeben.
- gets() ist unsicher, fflush(stdin) ist falsch (undefiniertes Verhalten) - und normalerweise sollte man nur die Header einbinden, die man auch braucht
-
asdasdasdasdasd
-
Was mit Zeile 10 falsch sein soll, bin ich im Moment auch überfragt (außer du hast etwas ausgelassen in deinem Code). Und Zeile 60 sollte wohl
void Ausgabe (struct produkt * u_zeiger)
heißen.
-
genau void ausgabe .. das schonmal verbessert aber tut sich noch nich wirklich was :S hmm
-
Hast du denn die anderen Hinweise aus meiner ersten Antwort berücksichtigt?
-
ja hab ich..aber egal was ich da änder, an diesem syntax error before struct, ändert sich leider nichts...
und dieses "gets" ist von der aufgabenstellung:S
-
Typischer Anfängerfehler für akademische verkettete Listen, du brauchst ein Forward-Deklaration.
-
haha was?
-
Passe im Unterricht besser auf, frage nach (im Unterricht) oder lese ein gutes Lehrbuch.
-
Zeile 53.
ausgabe(&zeiger);
Du übergibst der Funktion ausgabe die Adresse deines Zeigers zeiger. Gebraucht wird aber die Adresse auf die zeiger zeigt. Schließlich willst du auf den mit malloc angeforderten Speicher zugreifen:
ausgabe(zeiger);