Pascal-dynamic-arrays

提供:Dev Guides
移動先:案内検索

パスカル-動的配列

動的配列タイプの場合、配列の初期長はゼロです。 配列の実際の長さは、標準の SetLength 関数を使用して設定する必要があります。この関数は、配列要素を格納するために必要なメモリを割り当てます。

動的配列の宣言

動的配列を宣言する場合、配列の範囲は言及しません。 たとえば-

type
   darray = array of integer;
var
   a: darray;

配列を使用する前に、 setlength 関数を使用してサイズを宣言する必要があります-

setlength(a,100);

現在、配列aの有効な配列インデックスの範囲は0〜99です。配列インデックスは常にゼロベースです。

次の例では、2次元の動的配列を宣言して使用します-

program exDynarray;
var
   a: array of array of integer; ( *a 2 dimensional array* )
   i, j : integer;

begin
   setlength(a,5,5);
   for i:=0 to 4 do
      for j:=0 to 4 do
         a[i,j]:= i * j;

   for i:=0 to 4 do
   begin
      for j:= 0 to 4 do
      write(a[i,j]:2,' ');
    writeln;
   end;
end.

上記のコードをコンパイルして実行すると、次の結果が生成されます-

0 0 0 0  0
0 1 2 3  4
0 2 4 6  8
0 3 6 9  12
0 4 8 12 16