mikrocontroller.net

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


Autor: Tim A. (computerengineer65)
Datum:
Angehängte Dateien:

Bewertung
0 lesenswert
nicht 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

Autor: pst (Gast)
Datum:

Bewertung
0 lesenswert
nicht 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

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.