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