next up previous contents
Nächste Seite: Zeiger und Ziele Aufwärts: Vereinbarungsanweisungen Vorherige Seite: Speicherung von Feldern   Inhalt


Dynamische Felder

Wie bereits unter 4.2.3.2 erwähnt, ist ein dynamisches Feld ein Feld, deren Feldweiten erst im Laufe eines Programmes festgelegt zu werden brauchen. Das -Attribut hat also nur Sinn bei einer Variablen, die zugleich (z.B. mit dem -Attribut) die Eigenschaften eines Feldes erhält. Dabei muß die Anzahl der Dimensionen bereits bei der Deklaration vorgegeben werden.

Eine Deklaration könnte z.B. wie folgt aussehen:


 		 

Für ist durch das -Attribut also die Dimension 2 vorgegeben, wohingegen für das dynamische Feld 3 Dimensionen mittels direkter Angabe festgelegt wurden. Die Zuweisung, wieviel Elemente die einzelnen Dimensionen besitzen sollen, braucht erst im Laufe des Programmes erfolgen. Dazu wid die -Anweisung verwendet:


		  

Der Parameter dient dazu, um die korrekte Abbarbeitung der Anweisung zu überprüfen. Im Fehlerfall wird der angegebenen INTEGER-Variablen (hier: ) ein Wert ungleich Null zugewiesen; bei korrekter Ausführung dagegen gleich Null. Mit


		  

zum Beispiel werden $5\times20$ Elemente zugewiesen und erhält in seiner ersten Dimension $13$ Elemente, wobei der unterste Index bei $-2$ beginnt, und in seiner zweiten und dritten je $3$ und $9$.

Möchte man ein dynamisches Feld erneut zuweisen, muß es zuvor wieder freigegeben werden. Dazu dient die -Anweisung:


		  

Um den Status eines dynamischen Feldes zu erfragen existiert die vordefinierte Funktion ALLOCATED(feld), die TRUE als Rückgabewert liefert, falls das Feld definiert ist. Anderenfalls liefert sie den Wert FALSE.


next up previous contents
Nächste Seite: Zeiger und Ziele Aufwärts: Vereinbarungsanweisungen Vorherige Seite: Speicherung von Feldern   Inhalt
Lars Tornow 2003-03-31