- 帕斯卡教程
- 帕斯卡 - 主页
- 帕斯卡 - 概述
- Pascal - 环境设置
- 帕斯卡 - 程序结构
- Pascal - 基本语法
- Pascal - 数据类型
- Pascal - 变量类型
- 帕斯卡 - 常数
- 帕斯卡 - 运算符
- 帕斯卡 - 决策
- 帕斯卡 - 循环
- 帕斯卡 - 函数
- 帕斯卡 - 程序
- Pascal - 变量作用域
- 帕斯卡 - 弦乐
- 帕斯卡 - 布尔
- 帕斯卡 - 数组
- 帕斯卡 - 指针
- 帕斯卡 - 记录
- 帕斯卡 - 变体
- 帕斯卡 - 集合
- 帕斯卡 - 文件处理
- 帕斯卡 - 记忆
- 帕斯卡 - 单位
- 帕斯卡 - 日期和时间
- 帕斯卡 - 对象
- 帕斯卡 - 类
- 帕斯卡有用资源
- 帕斯卡 - 快速指南
- 帕斯卡 - 有用的资源
- 帕斯卡 - 讨论
Pascal - 填充数组
这些数组是位打包的,即每个字符或真值都存储在连续的字节中,而不是使用一个存储单元,通常是一个字(4 个字节或更多)。
通常,字符和布尔值的存储方式是每个字符或真值像单词一样使用一个存储单元。这称为数据存储的解包模式。如果字符存储在连续的字节中,则存储空间得到充分利用。这称为数据存储的打包模式。Pascal 允许数组数据以打包模式存储。
声明压缩数组
压缩数组是使用关键字Packed array而不是 array 来声明的。例如 -
type pArray: packed array[index-type1, index-type2, ...] of element-type; var a: pArray;
以下示例声明并使用二维打包数组 -
program packedarray; var a: packed array [0..3, 0..3] of integer; i, j : integer; begin for i:=0 to 3 do for j:=0 to 3 do a[i,j]:= i * j; for i:=0 to 3 do begin for j:=0 to 3 do write(a[i,j]:2,' '); writeln; end; end.
当上面的代码被编译并执行时,它会产生以下结果 -
0 0 0 0 0 1 2 3 0 2 4 6 0 3 6 9
pascal_arrays.htm