Pascal - 动态数组
对于动态数组类型,数组的初始长度为零。 数组的实际长度必须使用标准的SetLength函数设置,该函数将分配必要的内存来存储数组元素。
声明动态数组
对于声明动态数组,您没有提及数组范围。 例如 −
type darray = array of integer; var a: darray;
在使用数组之前,必须使用 setlength 函数声明大小 −
setlength(a,100);
现在,数组 a 的有效数组索引范围为 0 到 99:数组索引始终从零开始。
以下示例声明并使用二维动态数组 −
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