二维数组

本文通过对比静态矩阵二维数组、动态矩阵二维数组及动态非矩阵二维数组的内存地址,详细阐述了不同类型的二维数组在内存中存储方式的区别,并提供了具体的测试代码及运行结果。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、

  小结:(1)、ii[x][y] :其中x表示 哪一行,y表示 哪一列

     (2)、动态非矩阵 二维数组 ==> 还是 少用(或者不用)为好...

2、测试代码:

procedure TForm1.Button3Click(Sender: TObject);
var ii3 :array[0..1, 0..2] of Integer;
begin
  Memo1.Lines.Add('');
  Memo1.Lines.Add('静态矩阵 二维数组 :');

  Memo1.Lines.Add(IntToStr(Integer(@ii3[0,0])));
  Memo1.Lines.Add(IntToStr(Integer(@ii3[0][1])));
  Memo1.Lines.Add(IntToStr(Integer(@ii3[0][2])));

  Memo1.Lines.Add(IntToStr(Integer(@ii3[1][0])));
  Memo1.Lines.Add(IntToStr(Integer(@ii3[1][1])));
  Memo1.Lines.Add(IntToStr(Integer(@ii3[1][2])));
end;

procedure TForm1.Button4Click(Sender: TObject);
var ii4 :array of array of Integer;
begin
  Memo1.Lines.Add('');
  Memo1.Lines.Add('动态矩阵 二维数组 :');
  SetLength(ii4, 2, 3);

  Memo1.Lines.Add(IntToStr(Integer(@ii4[0, 0])));
  Memo1.Lines.Add(IntToStr(Integer(@ii4[0][1])));
  Memo1.Lines.Add(IntToStr(Integer(@ii4[0][2])));

  Memo1.Lines.Add(IntToStr(Integer(@ii4[1][0])));
  Memo1.Lines.Add(IntToStr(Integer(@ii4[1][1])));
  Memo1.Lines.Add(IntToStr(Integer(@ii4[1][2])));
end;

procedure TForm1.Button5Click(Sender: TObject);
var ii5 :array of array of Integer;
begin
  Memo1.Lines.Add('');
  Memo1.Lines.Add('动态非矩阵 二维数组 :');
  
  SetLength(ii5, 2);
  SetLength(ii5[0], 3);
  Memo1.Lines.Add(IntToStr(Integer(@ii5[0,0])));
  Memo1.Lines.Add(IntToStr(Integer(@ii5[0][1])));
  Memo1.Lines.Add(IntToStr(Integer(@ii5[0][2])));
  Memo1.Lines.Add(IntToStr(Integer(@ii5[1][0])));

  Memo1.Lines.Add('');
  SetLength(ii5[1], 4);
  Memo1.Lines.Add(IntToStr(Integer(@ii5[1][0])));
  Memo1.Lines.Add(IntToStr(Integer(@ii5[1][1])));
  Memo1.Lines.Add(IntToStr(Integer(@ii5[1][2])));
end;

  2.1、输出:

静态矩阵 二维数组 :
1635692
1635696
1635700
1635704
1635708
1635712

动态矩阵 二维数组 :
4728508
4728512
4728516
4728532
4728536
4728540

动态非矩阵 二维数组 :
4728508
4728512
4728516
0

4728572
4728576
4728580

 

3、

 

转载于:https://www.cnblogs.com/CodeSkill/p/6092900.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值