张志峰的博客

水滴石川,积少成多。

导航

Delphi数组及长度

Posted on 2011-10-25 15:36  ╰★张志峰★╮  阅读(5627)  评论(0编辑  收藏  举报

一,定义:

//1. 标准方法:
var
 MyArr: array[0..10] of Integer; //定义静态一维数组

//2. 根据预定义类型来声明数组:

type
   TMyArr = array[0..10] of Integer; //先定义一个数组类型
var
    MyArr: TMyArr; //再定义静态数组

//3. 在非过程区可以直接赋值:
 MyArr: array[0..2] of Integer = (11,22,33);

//4. 多维数组:
 MyArr: array[0..2, 0..2] of Integer;
 begin
     MyArr[1,2] := 100;
 end

二,求数组长度:

const
  arr1: array[0..9] of Integer = (1,2,3,4,5,6,7,8,9,10);
  arr2: array[0..1, 0..3] of Integer = ((1,2,3,4), (5,6,7,8));
var
  arr3: array[Boolean] of Integer;
  arr4: array[Byte] of Integer;
begin
  ShowMessage(IntToStr(Length(arr1)));      {10}
  ShowMessage(IntToStr(SizeOf(arr1)));       {40}

  ShowMessage(IntToStr(Length(arr2)));      {2}
  ShowMessage(IntToStr(Length(arr2[0])));  {4}
  ShowMessage(IntToStr(Length(arr2[1])));  {4}
  ShowMessage(IntToStr(SizeOf(arr2)));       {32}

  ShowMessage(IntToStr(Length(arr3)));      {2}
  ShowMessage(IntToStr(SizeOf(arr3)));       {8}

  ShowMessage(IntToStr(Length(arr4)));      {256}
  ShowMessage(IntToStr(SizeOf(arr4)));       {1024}
end;
总长度:SizeOf(arr) div SizeOf(Integer)

设置长度

var

 StrArr: array of String; //动态数组定义时不与维数

begin

 SetLength(StrArr,6); //分配6个元素位置: 0-5