|
Hauptseite - Welches System? - Hardware - Software - Emulatoren - |
Internet MausNet Programmieren Verweise Über |
Um Daten dynamisch zu verwalten, kann ein Zeiger auf den Datentyp deklariert werden. Dazu wird in der Deklaration dem Datentyp ein POINTER TO vorangestellt.
Bsp.:
VAR iZeiger : POINTER TO INTEGER;
Da kein Speicher für den Wert angelegt ist, muß Speicher vom System mit den Funktionen aus dem Modul Storage angefordert werden oder der Zeiger wird mit der Funktion ADR aus dem Modul SYSTEM auf die Adresse einer Variablen gesetzt. Angeforderter Speicher muß wieder freigegeben werden, wenn er nicht mehr benötigt wird. Die Größe eines Datentyps läßt sich mit der Funktion TSIZE aus SYSTEM ermitteln.
Um auf den Wert zuzugreifen, auf den der Zeiger zeigt, muß er dereferenziert werden. Dazu wird an den Namen der Variablen das Zeichen ^ angehängt.
Bsp.:
MODULE ZeigerTest; FROM Storage IMPORT ALLOCATE, DEALLOCATE; FROM SYSTEM IMPORT ADR; VAR z1 : POINTER TO INTEGER; i : INTEGER; BEGIN ALLOCATE(z1,TSIZE(INTEGER)); z1^ := 3; DEALLOCATE(z1); z1 := ADR(i); END ZeigerTest.
English version not yet available. |