Zurück Vor +Ebene Home Inhalt Index Hilfe

Zeiger

Zeiger, auch Pointer, Verweis auf eine Variable. Ein Zeiger auf eine Variable enthält nicht die Variable selbst, sondern nur die Information, wo die Variable im Speicher zu finden ist. Bei der Vereinbarung einer Zeigervariablen muß angegeben werden, welchen Typ die Variable hat, auf die der Zeiger deutet.

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  19
Nach 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.

Zurück Vor +Ebene Home Inhalt Index Hilfe

Copyright Verlag Harri Deutsch AG  Stöcker DeskTop Mathematik