Arrays werden im Deutschen zuweilen auch als Felder bezeichnet. Beim Lesen von Pascal-Literatur ist jedoch Vorsicht geboten: Als Felder werden hier oft die Komponenten eines Records bezeichnet.

Deklaration eines eindimensionalen Arrays:
VAR name = ARRAY [ indextyp ] OF typ;indextyp muß ein ordinaler Datentyp sein.
imin: Wert mit der kleinsten Ordinalzahlimax - imin + 1 ist die Länge des Arrays, d.h. die Anzahl seiner Komponenten.
imax: Wert mit der größten Ordinalzahl
Häufig wird indextyp als INTEGER-Teilbereichstyp angegeben, d.h. in der Form
imin..imaxIn Pascal wird meist imin = 1 gewählt.
Beispiel:
VAR nr : ARRAY[1..10000] OF INTEGER;
koord = ARRAY[1..3] OF REAL;
TYPE monate = [1..12];
VAR abrechnung = ARRAY[monate] OF REAL;
TYPE farbe = (rot, gruen, blau);
VAR rgb = ARRAY[farbe] OF INTEGER;
Die Zuweisung von Werten an ein Array muß komponentenweise erfolgen.
VAR a : ARRAY[1..10] OF INTEGER;
i : INTEGER;
FOR i:= 1 TO 10 DO
a[i] := i*i;
Einem Array kann der Wert eines anderen Arrays zugewiesen werden, wenn
beide den gleichen Typ besitzen.
VAR a, b : ARRAY[1..10] OF INTEGER;
a := b;
a := b + 1; { nicht zulaessig }
a := b * b; { nicht zulaessig }
Anfangswertzuweisung an ArraysStandard Pascal
Nicht möglich.
Extended Pascal
Bei der Variablendeklaration kann für jede Komponente eines Arrays ein Anfangswert angegeben werden:
... VALUE [index_1: wert_1; ...; index_n: wert_n];Soll für eine größere Anzahl von Komponenten der gleiche Anfangswert zugewiesen werden, so kann die Aufzählung ersetzt werden durch
... VALUE [ ...; OTHERWISE wert ];Beispiel:
CONST n = 5;
TYPE arr = ARRAY[1..n] OF INTEGER;
VAR a : arr; { nicht initialisiert }
b : arr VALUE [1: 1; 2: -1; 3: -1; 4: 4; 5: -1];
c : arr VALUE [1: 1; 4: 4; OTHERWISE -1];
d : arr VALUE [OTHERWISE 1];
e : arr VALUE 1 { !! nicht zulaessig !! }
Indirekt wird auch in dem folgenden Beispiel eine Anfangswertbelegung des
Arrays erreicht:
TYPE int1 = INTEGER VALUE 1; VAR a = ARRAY[1..5] OF int1;Alle Elemente des Arrays a besitzen den Anfangswert 1.
Turbo Pascal
Bei der Deklaration als "typisierte Konstante" kann für jede Komponente eines Arrays ein Anfangswert angegeben werden:
CONST name : array_typ = ( wert_1, ..., wert_n );name ist eine (statische) Variable !
Beispiel:
TYPE arr = ARRAY[1..5] OF INTEGER;
CONST b : arr = (1, -1, -1, 4, -1);
c : arr = (1); { !! Syntaxfehler !! }
d : arr = (1, 1, 1, 1, 1);