数组声明
一维静态数组
Type
CompanyName=Array [1..20]of string;
Var
MyCompany:CompanyName;
---------------------------------------------
或者直接声明
Var
MyCompany:Array [1..20]of string;
二维静态数组
Type
MyPoint=Array [1..20]of array [1..20]of integer;
//MyPoint=Array [1..20,1..20]of integer;
Var
Point:MyPoint;
---------------------------------------------
或者直接声明
Var
Point:Array [1..20,1..20]of integer;
动态数组
Type
CompanyName=Array of string;
Var
MyCompany:CompanyName;
---------------------------------------------
或者直接声明
Var
MyCompany:Array of string;
SetLength函数分配数组大小
var
A:Array of integer
Count:integer;
Begin
SetLength(A,5);
//设置数据A的大小为5
For Count:=0 to 4 do
A[Count]:=Count+5; //A[0]到A[4]分别为5、6、7、8、9
SetLength(A,7); //再次设置A的大小为7,A[0]到A[6]分别为5、6、7、8、9、0、0
SetLength(A,3); //重新设置数组的大小为3,[A2]以后被截断,A[O]到A[2]分别为5、6、7
End;
有时候,大家这样要先设定长度,在赋值,很麻烦,现在介绍一个一气呵成的招数
type
TA = Array of Integer;
var
A : TA;
begin
A := TA.Create(1, 2, 3);
//使用上面的方法之后,A[0] :=1, A[1] := 2, A[2]:=3
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;
Copy函数剪切
var
A.B:array of integer:
i:integer:
begin
setlength(A,4);
A[0]:=1;
A[1]:=2;
A[2]:=3;
A[3]:=4;
B:=copy(A,2,2);//从数组A第2个元素开始取两个元素保存到数组B中
for i:=low(B) to High(B) do
editl.Text:=editl.Text+' '+inttostr(B[i]);
end;
//运行结果:34
标签:20,..,数组,类型,integer,Array,SetLength From: https://www.cnblogs.com/DQ-MINE/p/17124916.html《Delphi应用开发完全手册》p28