定义:数组类型定义了一组指定类型的元素序列
//声明方式一
type
DayTemperatures = array [1..24] of Integer;
//声明方式二
var
Names: array [1 .. 3] of string;
(1)不定长数组
定义:不定长数组,即动态数组,也就是声明的时候没有说长度是多少,在使用之前必须声明,长度是可以再分配的,序号必须从0开始,例子
var
A : Array of Integer; //定长数组 A :Array[0..10] of Integer
begin
SetLength(A, 3); //,设置数组长度,数组一共有3个元素
A[0] := 1;
A[1] := 2;
A[2] := 3;
//如果变长长度,直接增加后面的元素
SetLength(A, 4);
//现在增加了第四个元素,而前三个元素还是那三个
A[3] := 4;
//如果长度变短了,超出部分就会被去掉
SetLength(A, 3);
//现在A[3]没有了
end;
有时候,大家这样要先设定长度,在赋值,很麻烦,现在介绍一个一气呵成的招数
type
TA = Array of Integer;
var
A : TA;
begin
A := TA.Create(1, 2, 3);
//此招请勿在Delphi 7上面使用
//使用上面的方法之后,A[0] :=1, A[1] := 2, A[2]:=3
end;
(2)一维和多维
var
A : Array[0..2, 0..2] of Integer;
B : Array[0..2] of Array[0..2] of Integer;
begin
A[0, 0] := 1;
B[0, 0] := 1;
end;
介绍二维数组中的不定长数组
var
B : Array of Array of Integer
begin
//设置一个3*3的矩阵
SetLength(B, 3, 3);
//如果需要实现齿状数组,必须像下面这么做
SetLength(B, 3);
SetLength(B[0], 1);
SetLength(B[1], 2);
SetLength(B[2], 3);
end;
函数Low()和High()值得信赖,不过我们需要注意的是,他们返回的类型是我们数组的序号的那个类型,并不都是Integer,如前面例子中的THuangJacky
var
A : Array of array of string;
I, J : Integer;
begin
SetLength(A, 10);
for I := Low(A) to High(A) do
begin
SetLength(A[I], I);
for J := Low(A[I]) to High(A[I]) do
A[I, J] := IntToStr(I) + ',' + IntToStr(J) + ' ';
end
end;
end.
标签:end,..,数组,Integer,Array,SetLength
From: https://www.cnblogs.com/DQ-MINE/p/17123302.html