Problem verkette Listen Funktionsaufruf mit Adresse der Startadresse

#1785202
Lesenswert?

In meinem Programm wird aus einer Datei eine Struktur in eine verkettete 
Liste geladen mit der Funktion Lesen. Dies klappt anscheinend auch. Mit 
meinem Funktionen Ausgeben1 und Ausgeben2 kann die verkette Liste 
ausgegeben werden. Ausgeben1 funktioniert auch, nur Ausgeben2 nicht. 
Nach dem 1. Aufruf von Ausgeben2 ist die verkettete Liste leer. Dies 
kann ich nicht nachvollziehen, denn der einzige Unterschied zwischen 
Ausgeben1 und Ausgeben2 ist, dass ich den Parameter nicht extra 
dereferenziert in eine Variable schreibe, sondern direkt mit diesem 
dereferenziert im Program arbeite. Irgendwo scheint der Wurm drin zu 
sein. Vielleicht hatte jemand schon mal das selbe Problem und kann mir 
erklären, warum Ausgeben2 nicht funktioniert.

Ich weiß, dass ich diesem Fall nicht die Adresse der Adresse des 
Listenanfangs übergeben müsste, allerdings habe ich das gleiche Problem 
in anderen Funktionen auch (ich schätze, dass ich dort den gleichen 
Fehler wie hier gemacht habe). Die Ausgabe Funktionen sind im Vergleich 
noch nen bissln übersichtlicher.

Danke im vorraus
Angehängte Dateien:
Gast #1785218
Lesenswert?

>    (*lst) = (*lst)->Next;

Das sollte dich nachdenklich stimmen. Hier verstellst du das "originale" 
lst aus main(). Eine Referenz darauf an die Ausgabefunktion zu 
uebergeben, ist ziemlich ueberfluessig und fuehrt leicht zu solchen 
Fehlern.

Allgemein solltest du gerade als Anfaenger auf einen uebersichtlicheren 
Stil achten, auch wenn mal ein paar Buchstaben mehr zu tippen sind.

Antwort schreiben

Bitte melde dich an, um einen Beitrag zu schreiben.

oder

Mit Google-Account einloggen

Die Registrierung ist kostenlos und dauert nur eine Minute.

Jetzt registrieren