type TMyArr1 = array[1..10] of integer; // integer 数组,长度为10,索引范围 1~10 TMyArr2 = array[8..10] of byte; // byte 数组,长度为3,索引范围 8~10 TMyArr3 = array[0..9] of double; // double 数组,长度为10,索引范围 0~9
二维数组定义:
1 2 3 4
type TMyArr4 = array[1..10, 1..40] of integer; // 此数组拥有 10 个成员,每个成员又是一个静态数组,拥有 40 个成员
n 维的静态数组的定义同理。
数组变量的定义:
1 2 3 4 5
type TMyArr5 = array[1..8] of integer; var arr1: TMyArr5; arr2: array[1..30] of Boolean;
数组变量赋值时只能按其成员逐个逐个赋值。
一些内置函数
Low 函数可以获取静态数组的最低索引值
high 函数可以获取静态数组的最高索引值
Length 函数可以获取静态数组的长度
例如以下求数组平均值操作:
1 2 3 4 5 6 7 8
var I: Integer; Total: Integer; begin Total := 0; for I := Low(DayTemp1) to High(DayTemp1) do Inc (Total, DayTemp1[I]); Show ((Total / Length(DayTemp1)).ToString);
动态数组
动态数组声明
不指定数组的大小(索引范围),则为动态数组。
一维动态数组的声明:
1 2
type TMyArr1 = arrayof integer; // integer 动态数组
二维动态数组的声明:
1 2
type TMyArr1 = arrayofarrayof integer; // integer 动态数组的动态数组
n 维的动态数组的定义同理。
动态数组使用
动态数组在使用之前,必须使用 SetLength 函数进行设置大小:
1 2 3 4 5 6 7 8
type TMyArr1 = arrayof integer; // integer 动态数组 var arr1 : TMyArr1;