delphi二维数组如何定义

 我来答
windblast
2017-03-27 · 知道合伙人软件行家
windblast
知道合伙人软件行家
采纳数:5633 获赞数:13622
毕业于空军第一航空学院电子专业,1991年开始接触电脑,从事多年计算机编程,具有较丰富的经验。

向TA提问 私信TA
展开全部

在 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;


代码运行截图:


sirouszlh
2014-03-24 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:643万
展开全部
a: array [0..1] of array [0..9] of integer;


a: array of array of integer;
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Vorlons
2014-03-25 · TA获得超过199个赞
知道小有建树答主
回答量:390
采纳率:0%
帮助的人:304万
展开全部
两种形式,任选其一,例如:
aMatrix : array[1..10] of array[1..50] of Real;
bMatrix : array[1..10, 1..50] of Real;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(1)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式