Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- program pointertest (input, output);
- type
- tRefInfo = ^tInfo;
- tInfo = record
- Alter: Integer;
- next : tRefInfo;
- end;
- var
- first : tRefInfo; {Anfangspointer - Zeigt auf das vorherige Element -> Benögtigt für Verkettung der Elemente}
- i : integer; {Index}
- eAlter : integer; {Eingabe Alter}
- p : tRefInfo; {Pointer auf den Recordtyp tInfo}
- begin
- writeln ('>>>>Einlesen der Alter<<<<');
- first := nil; {First zeigt auf NIL}
- for i:= 1 to 10 do {Lese 10 Alter ein}
- begin
- new (p); {Anfordern eines neuen Records}
- write ('Alter -->');
- readln (eAlter);
- p^.Alter := eAlter; {Recorddatenfeld Alter wird eAlter zugewiesen}
- p^.Next := first; {p.Next zeigt auf das Record-Element davor}
- first := p; {First erhält die Adresse des aktuellen Records - Aktualisieren des Anfangszeigers}
- end;
- p := first; {Pointer auf das Anfangselement setzten}
- {Ausgabe der Verketteten Elemente}
- while (p <> nil) do {Solange wie pointer ungleich NIL ist...}
- begin
- writeln (p^.alter); {Gebe das alter vom aktuellen Record-Element aus}
- p := p^.next; {Pointer wird die Speicheradresse des nächsten Record-Elemts zugewiesen}
- end; {Ende der Ausgabe}
- end. {Ende Programm}
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement