Pascal - Packed Array



这些数组按位打包,即每个字符或真值存储在连续的字节中,而不是使用一个存储单元,通常是一个字(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
广告
© . All rights reserved.