Advertisement
apfel2kuchen

Pointer - Richtig so?

Nov 17th, 2014
168
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.20 KB | None | 0 0
  1. program pointertest (input, output);
  2.  
  3. type
  4. tRefInfo = ^tInfo;
  5. tInfo = record
  6. Alter: Integer;
  7. next : tRefInfo;
  8. end;
  9. var
  10. first : tRefInfo; {Anfangspointer - Zeigt auf das vorherige Element -> Benögtigt für Verkettung der Elemente}
  11. i : integer; {Index}
  12. eAlter : integer; {Eingabe Alter}
  13. p : tRefInfo; {Pointer auf den Recordtyp tInfo}
  14.  
  15. begin
  16. writeln ('>>>>Einlesen der Alter<<<<');
  17. first := nil; {First zeigt auf NIL}
  18.  
  19. for i:= 1 to 10 do {Lese 10 Alter ein}
  20. begin
  21. new (p); {Anfordern eines neuen Records}
  22. write ('Alter -->');
  23. readln (eAlter);
  24. p^.Alter := eAlter; {Recorddatenfeld Alter wird eAlter zugewiesen}
  25. p^.Next := first; {p.Next zeigt auf das Record-Element davor}
  26. first := p; {First erhält die Adresse des aktuellen Records - Aktualisieren des Anfangszeigers}
  27. end;
  28.  
  29. p := first; {Pointer auf das Anfangselement setzten}
  30. {Ausgabe der Verketteten Elemente}
  31. while (p <> nil) do {Solange wie pointer ungleich NIL ist...}
  32. begin
  33. writeln (p^.alter); {Gebe das alter vom aktuellen Record-Element aus}
  34. p := p^.next; {Pointer wird die Speicheradresse des nächsten Record-Elemts zugewiesen}
  35. end; {Ende der Ausgabe}
  36.  
  37. end. {Ende Programm}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement