静态数组的定义方法

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


//2. 可以使用非0下标:
var
  MyArr: array[9..10] of Integer;  //不能提倡,这样不容易与系统函数沟通


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


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


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


//6. 根据子界定义数组:
type
  TRange = 0..10;
var
  MyArr: array[TRange] of Integer;


//7. 根据枚举定义数组:
type
  TEnums = (Enum1,Enum2,Enum3);
var
  MyArr: array[TEnums] of string;
begin
  MyArr[Enum1] := '万一';
  ShowMessage(MyArr[Enum1]);  //万一
end;


//8. 根据其他类型定义数组:
var
  MyArr: array[Byte] of Char;
begin
  MyArr[255] := #65;
  ShowMessage(MyArr[255]);  //A
end;

//应尽量不使用内建类型,可以新建类型:
type
  TNewByte = Byte;
var
  MyArr: array[TNewByte] of Char;
begin
  MyArr[255] := #65;
  ShowMessage(MyArr[255]);  //A
end;

//也可以使用类型别名:
type
  TChar = type Char;
var
  MyArr: array[TChar] of Byte;
begin
  MyArr['C'] := 255;
  ShowMessage(IntToStr(MyArr['C']));  //255
end;

//同时定义类型:
type
  MyRec = record
    s: string;
    r: Real;
    b: Byte;
  end;
var
  Arr1: array[0..100] of MyRec;
  Arr2: array[0..100] of record s: string; r: Real; b: Byte; end;  //可以直接这样定义
  Arr3: packed array[0..100] of MyRec;  //压缩数组定义, 好像没有区别?
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值