中易网

delphi二维数组如何定义

答案:3  悬赏:20  
解决时间 2021-01-14 09:21
delphi二维数组如何定义
最佳答案
在 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;

代码运行截图:



全部回答
两种形式,任选其一,例如:
aMatrix : array[1..10] of array[1..50] of Real;
bMatrix : array[1..10, 1..50] of Real;
a: array [0..1] of array [0..9] of integer;

a: array of array of integer;
我要举报
如以上问答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
大家都在看
七夕是谁送谁礼物?七夕一定要送礼物?
大家宰是什么意思
为什么大多漂亮女孩都有男朋友了?
2Al+2NaOH+6H2O==== 2Na[Al(OH)4]+3H2O↑的离
椎间盘突出和脱出有什么不一样
去泰国旅游在芭提雅古2小时正宗泰式古法按摩
30岁陷入人生低谷,工作、生活、感情一片迷茫
辉煌汽贸(同康路)地址有知道的么?有点事想过
古代四大富人是
南阳市北京大道距离南阳一附院远吗走路得多少
我很苦恼,我的电脑我很头大,希望能有人帮到我
那个网站可以发布让别人帮你做东西的任务
85万元的房子首付多少钱
yy电脑直播三百秒就下麦怎么回事
佳能眼镜(花园店)地址好找么,我有些事要过去
推荐资讯
靓佳珠宝
江苏省淮安市盱眙县高中排名及各校简介
我手机号是宁波的,可我现在再外地,我不在宁
我在朋友那看到的初曦小分子水精调VC水光原液
宽带10兆是什么意思
大家觉得给产品定价利润在百分之多少合适
马漓澧的参加《天天向上》期数
有没有哪位高手用过玛雅四重奏声卡,求教使
分析早期雅典城邦贵族与平民的矛盾
老的笔记本的无线网卡是怎么接的
梦见自己为别人解决麻烦事,怎么办?
军训方队介绍解说词?
手机登qq时,显示手机磁盘不足,清理后重新登
刺客的套装怎么选啊?