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  
 Elemente zugewiesen und 
 erhält in seiner ersten Dimension 
 Elemente, wobei der
unterste Index bei 
 beginnt, und in seiner zweiten und dritten je 
 und 
.
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.