首页 > 编程语言 > 详细

如何比较两个二维数组是否相等

时间:2019-08-30 16:52:18      阅读:107      评论:0      收藏:0      [点我收藏+]

一句话: 用 CompareMem 对比内存即可.


 

{对比静态数组}
procedure TForm1.Button1Click(Sender: TObject);
var
  arr1: array[0..3] of AnsiChar;
  arr2: array[0..3] of Byte;
begin
  arr1[0] := ‘A‘; arr1[1] := ‘B‘; arr1[2] := ‘C‘; arr1[3] := ‘D‘;
  arr2[0] := 65;  arr2[1] := 66;  arr2[2] := 67;  arr2[3] := 68;

  if CompareMem(@arr1, @arr2, SizeOf(arr1)) then
    ShowMessage(‘arr1 与 arr2 中的数据相同‘);
end;

{对比动态数组}
procedure TForm1.Button2Click(Sender: TObject);
var
  arr1: array of AnsiChar;
  arr2: array of Byte;
begin
  SetLength(arr1, 4);
  SetLength(arr2, 4);
  arr1[0] := ‘A‘; arr1[1] := ‘B‘; arr1[2] := ‘C‘; arr1[3] := ‘D‘;
  arr2[0] := 65;  arr2[1] := 66;  arr2[2] := 67;  arr2[3] := 68;

  if CompareMem(arr1, arr2, SizeOf(arr1)) then
    ShowMessage(‘arr1 与 arr2 中的数据相同‘);
end;

{多维数组也一样}
procedure TForm1.Button3Click(Sender: TObject);
var
  arr1: array[0..1, 0..1] of AnsiChar;
  arr2: array[0..1, 0..1] of Byte;
begin
  arr1[0,0] := ‘A‘; arr1[0,1] := ‘B‘; arr1[1,0] := ‘C‘; arr1[1,1] := ‘D‘;
  arr2[0,0] := 65;  arr2[0,1] := 66;  arr2[1,0] := 67;  arr2[1,1] := 68;

  if CompareMem(@arr1, @arr2, SizeOf(arr1)) then
    ShowMessage(‘arr1 与 arr2 中的数据相同‘);
end;

如何比较两个二维数组是否相等

原文:https://www.cnblogs.com/h2zZhou/p/11435210.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!