多维数组(Multi-dimensional arrays)
优质
小牛编辑
135浏览
2023-12-01
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
如上所述,您可以拥有任意数量的数组,但您创建的大多数数组可能都是一维或二维。