Packed array
优质
小牛编辑
127浏览
2023-12-01
这些数组是比特打包的,即每个字符或真值都存储在连续的字节中,而不是使用一个存储单元,通常是一个字(4个字节或更多)。
通常,字符和布尔值以这样的方式存储,即每个字符或真值使用一个存储单元,如单词。 这称为解包模式的数据存储。 如果字符以连续字节存储,则完全利用存储。 这称为数据存储的打包模式。 Pascal允许以打包模式存储数组数据。
声明打包的数组
使用关键字packed array而不是数组声明packed 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