Pascal - 多维数组
Pascal 编程语言允许多维数组。 这是多维数组声明的一般形式 −
type array-identifier = array [index-type1, index-type2, ...] of element-type; var a1, a2, ... : array-identifier;
例如,以下声明创建一个三维 5 . 10 . 4 整数数组 −
var threedim: array[1..5, 1..10, 1..4] of integer;
二维数组
多维数组最简单的形式是二维数组。 二维数组本质上是一维数组的列表。 要声明大小为 x, y 的二维整数数组,您可以编写如下内容 −
var arrayName: array[1..x, 1..y] of element-type;
其中 element-type 可以是任何有效的 Pascal 数据类型,arrayName 将是有效的 Pascal 标识符。 二维数组可以可视化为一个表格,其中有 x 行和 y 列。 包含三行四列的二维数组如下所示 −
因此,数组 a 中的每个元素都由 a[ i ][ j ] 形式的元素名称来标识,其中 a 是数组的名称,i 和 j 是唯一标识 a 中每个元素的下标。
初始化二维数组
多维数组与一维数组一样,都是通过赋值来初始化的,可以通过指定特定的下标或使用 for-do 循环。
例如,
var a: array [0..3, 0..3] of integer; i, j : integer; begin for i:= 0 to 3 do for j:= 0 to 3 do a[i,j]:= i * j; ... end;
访问二维数组元素
二维数组中的元素是通过下标来访问的,即数组的行索引和列索引。 例如 −
var val: integer; val := a[2, 3];
上述语句将从数组的第 3 行中取出第 4 个元素。 大家可以通过上图来验证一下。 让我们检查一下下面的程序,我们使用嵌套循环来处理二维数组 −
program ex2dimarray; var a: array [0..3, 0..3] of integer; i,j : integer; begin for i:=0 to 3 do for j:=0 to 3 do a[i,j]:= i * j; for i:=0 to 3 do begin for j:=0 to 3 do write(a[i,j]:2,' '); writeln; end; end.
当上面的代码被编译并执行时,会产生以下结果 −
0 0 0 0 0 1 2 3 0 2 4 6 0 3 6 9
如上所述,您可以拥有任意维数的数组,尽管您创建的大多数数组可能都是一维或二维的。