Typ
ist ein Zeigertyp, der auf den angegebenen Typ verweist.
Um auf die Variable, auf die ein Zeiger deutet, zuzugreifen,
wird der Zeigervariablen der Pfeil nach oben nachgestellt.
Mit
new( Zeigervariable)
wird eine neue Variable des Typs, auf den die Zeigervariable
deutet, im Computerspeicher angelegt. Die Zeigervariable
zeigt anschließend auf diese Variable.
Mit
dispose( Zeigervariable)
kann eine Variable, auf die ein Zeiger deutet, entfernt werden.
Anschließend darf nicht mehr auf diese Variable zugegriffen werden.
Statt des Pfeils nach oben
kann man auch ^ als Zeigersymbol verwenden.
Mit der Vereinbarung einer Zeigervariablen wird nur
Speicherplatz für die Zeigervariable selbst bereitgestellt.
Der Zeiger deutet noch nicht auf einen sinnvollen
Speicherplatz.
Es ist sorgfältig zwischen der Zeigervariablen und der
Variablen, auf die der Zeiger deutet, zu unterscheiden.
PROGRAM zeiger; VAR pi1, pi2: ^integer; BEGIN {zeiger} new(pi1); new(pi2); {Speicherplatz bereitstellen} pi1^ := 42; pi2^ := -3; writeln(pi1^:3, pi2^:3); pi2^ := pi1^; {Variablenzuweisung} pi1^ := 5; writeln(pi1^:3, pi2^:3); pi2 := pi1; {Zeigerzuweisung} pi1^ := 19; writeln(pi1^:3, pi2^:3) END. {zeiger}Das Programm erzeugt die Ausgabe
42 -3 5 42 19 19Nach der mit ,,Variablenzuweisung`` bezeichneten Anweisung deuten die beiden Zeiger nach wie vor auf verschiedene Variablen, die aber nun den gleichen Inhalt haben. Daher kann in der folgenden Anweisung der Variablen, auf die pi1 zeigt, unabhängig von der anderen Variablen ein neuer Wert zugewiesen werden.
Nach der mit ,,Zeigerzuweisung`` bezeichneten Anweisung
deuten die beiden Zeiger auf dieselbe Variable.
Aus diesem Grund wirkt sich die Zuweisung an die Variable,
auf die pi1 zeigt, auch auf den Inhalt von
pi2^ aus.
pi1^ und pi2^
sind nur verschiedene Bezeichnungen für dieselbe
Variable.
NIL, spezieller Wert, der jeder Zeigervariablen
zugewiesen werden kann. Signalisiert, daß ein Zeiger
,,nirgendwohin`` deutet.