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.