配列

1 次元配列

1 次元配列は次のように書いて宣言します。

program sample(output);
var
  arr : array [1..3] of char;
begin
  arr[1] := 'a';
  arr[2] := 'b';
  arr[3] := 'c';
end.

配列の添字に用いるデータ型には,部分範囲型,列挙型などが指定できます。
例えば,列挙型を用いた次のような配列の宣言も可能です。

program sample(output);
type
  dayofweek = (mon, tue, wed, thu, fri, sat, sun);
var
  arr : array [dayofweek] of integer;
begin
  arr[tue] := 256;
end.

多次元配列

多次元配列は次のように書いて宣言します。

program sample(output);
var
  arr : array [1..2] of array [1..3] of char;
begin
  arr[1][1] := 'a';
  arr[1][2] := 'b';
  arr[1][3] := 'c';
  arr[2][1] := 'A';
  arr[2][2] := 'B';
  arr[2][3] := 'C';
end.

次のような,より簡略な書き方もあります。

program sample(output);
var
  arr : array [1..2, 1..3] of char;
begin
  arr[1, 1] := 'a';
  ...
end.

詰めあり型

構造型の型名に packed を付けたものは,詰めあり型 (pcked type) と呼ばれます。
詰めあり型は,詰めなしに比べてメモリ領域を節約して使用します。

type
  charray = packed array [1..100] of char;