中易网

delphi二维数组如何定义

答案:3  悬赏:20  
解决时间 2021-01-14 09:21
  • 提问者网友:焚苦与心
  • 2021-01-13 12:59
delphi二维数组如何定义
最佳答案
  • 二级知识专家网友:拾荒鲤
  • 2021-01-13 13:17
在 delphi (Object Pascal 语言)中,使用 array 关键字进行数组定义。


如果需要定义二维数组可以采取以下定义形式:


一、静态数组定义


静态数组定义,通常用于数组元素的数目确定的情况。定义形式如下:





示例:


type
  //定义二维数组类型
  TMultiArr = array[1..3,1..3] of string; 
var
  MultiArr: TMultiArr;
  
    //定义 行12*列12 的 Integer 数组
   IntArr: array[1..12] of array[1..12] of Integer;
   
   //定义 行5*列5 的 string 数组
  StrArr: array[1..5,1..5] of string;

二、动态数组定义


动态数组常用于当数组的元素数目不确定的时候,其定义形式如下:


  SamArr: array of array of Integer; //定义二维数组,数组元素不确定

  type TMessageGrid = array of array of string; //定义二维数组类型,数组元素不确定
  var Msgs: TMessageGrid; //声明一个二维数组类型变量

二维动态数组的元素数目,可以通过 SetLenth 来动态指定,示例代码如下:


procedure TForm1.Button3Click(Sender: TObject);
type TMultiArr = array of array of string;
var
  a: TMultiArr;
  I, J: Integer;
  s: string;
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;
  for I := Low(a) to High(a) do
  begin
    s := '';
    for J := Low(a[I]) to High(a[I]) do
      s := s + ' ' + a[I, J];
    Memo1.Lines.Add(s);
  end;
end;

代码运行截图:



全部回答
  • 1楼网友:天凉才是好个秋
  • 2021-01-13 14:26
两种形式,任选其一,例如:
aMatrix : array[1..10] of array[1..50] of Real;
bMatrix : array[1..10, 1..50] of Real;
  • 2楼网友:夜余生
  • 2021-01-13 14:03
a: array [0..1] of array [0..9] of integer;

a: array of array of integer;
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息!
大家都在看
推荐信息