Thema: Delphi Problem mit Zeigern

Einzelnen Beitrag anzeigen

praesident

Registriert seit: 29. Feb 2008
25 Beiträge
 
#38

Re: Problem mit Zeigern

  Alt 1. Mär 2008, 00:34
Zitat von Macci:
Würde statt

Delphi-Quellcode:
FUNCTION pop(VAR zkopf:tzeiger):char;
VAR zhilf1,zhilf2:tzeiger;
    z:char;
BEGIN
zhilf1:=zkopf;
zhilf2:=zkopf^.next;
WHILE NOT(zhilf2^.next = NIL) DO
  BEGIN
   zhilf1:=zhilf2;
   zhilf2:=zhilf2^.next;
  END;
  zhilf1^.next:=NIL;
  pop:=zhilf2^.inhalt;
END;

nicht einfach nur

Delphi-Quellcode:
FUNCTION pop(VAR zkopf:tzeiger):char;
BEGIN
result:=zkopf^.inhalt;
zkopf := zkopf^.next
END;
genügen?
nein, würde ich jetzt nicht sagen...

denn, wenn zkopf das erste element ist und pop jeweils das letzte entfernen und freigeben soll muss ich ja solange in der liste weitergehen, bis ein element auf nil zeigt, oder?

bei mir hängts im moment an der letzten zeile der pop prozedur

Delphi-Quellcode:
FUNCTION pop(VAR zkopf:tzeiger):char;
VAR zhilf1,zhilf2:tzeiger;

BEGIN
 zhilf1:=zkopf;
 zhilf2:=zkopf^.next;
 WHILE (zhilf2 <> nil) AND (zhilf2^.next <> NIL) DO
  BEGIN
   zhilf1:=zhilf2;
   zhilf2:=zhilf2^.next;
  END;
  zhilf1^.next:=NIL;
  pop:=zhilf2^.inhalt;
END;
es kommt wieder jedesmal ein exeption fehler
  Mit Zitat antworten Zitat