首页 > 其他分享 >数组类型

数组类型

时间:2023-02-15 22:12:01浏览次数:29  
标签:20 .. 数组 类型 integer Array SetLength

数组声明

一维静态数组

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

《Delphi应用开发完全手册》p28

标签:20,..,数组,类型,integer,Array,SetLength
From: https://www.cnblogs.com/DQ-MINE/p/17124916.html

相关文章