Forum: PC-Programmierung Problem verkette Listen Funktionsaufruf mit Adresse der Startadresse


von Tim A. (computerengineer65)


Angehängte Dateien:

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

von pst (Gast)


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.

Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.