- 帕斯卡教程
- 帕斯卡 - 主页
- 帕斯卡 - 概述
- Pascal - 环境设置
- 帕斯卡 - 程序结构
- Pascal - 基本语法
- Pascal - 数据类型
- Pascal - 变量类型
- 帕斯卡 - 常数
- 帕斯卡 - 运算符
- 帕斯卡 - 决策
- 帕斯卡 - 循环
- 帕斯卡 - 函数
- 帕斯卡 - 程序
- Pascal - 变量作用域
- 帕斯卡 - 弦乐
- 帕斯卡 - 布尔
- 帕斯卡 - 数组
- 帕斯卡 - 指针
- 帕斯卡 - 记录
- 帕斯卡 - 变体
- 帕斯卡 - 集合
- 帕斯卡 - 文件处理
- 帕斯卡 - 记忆
- 帕斯卡 - 单位
- 帕斯卡 - 日期和时间
- 帕斯卡 - 对象
- 帕斯卡 - 类
- 帕斯卡有用资源
- 帕斯卡 - 快速指南
- 帕斯卡 - 有用的资源
- 帕斯卡 - 讨论
Pascal - 动态数组
对于动态数组类型,数组的初始长度为零。数组的实际长度必须使用标准SetLength函数设置,该函数将分配必要的内存来存储数组元素。
声明动态数组
对于声明动态数组,您没有提及数组范围。例如 -
type darray = array of integer; var a: darray;
在使用数组之前,必须使用setlength函数声明大小 -
setlength(a,100);
现在,数组 a 的有效数组索引范围为 0 到 99:数组索引始终从零开始。
以下示例声明并使用二维动态数组 -
program exDynarray; var a: array of array of integer; (* a 2 dimensional array *) i, j : integer; begin setlength(a,5,5); for i:=0 to 4 do for j:=0 to 4 do a[i,j]:= i * j; for i:=0 to 4 do begin for j:= 0 to 4 do write(a[i,j]:2,' '); writeln; end; end.
当上面的代码被编译并执行时,它会产生以下结果 -
0 0 0 0 0 0 1 2 3 4 0 2 4 6 8 0 3 6 9 12 0 4 8 12 16
pascal_arrays.htm