Pascal-packed-array

提供:Dev Guides
移動先:案内検索

パスカル-パック配列

これらの配列はビットパックされています。つまり、各文字または真理値は、1つのストレージユニット、通常はワード(4バイト以上)を使用する代わりに、連続したバイトに格納されます。

通常、文字とブール値は、各文字または真理値が単語のような1つの記憶単位を使用するように保存されます。 これは、データストレージのアンパックモードと呼ばれます。 文字が連続したバイトで格納される場合、ストレージは完全に利用されます。 これは、データストレージのパックモードと呼ばれます。 Pascalでは、配列データをパックモードで保存できます。

パック配列の宣言

パック配列は、配列の代わりにキーワード*パック配列*を使用して宣言されます。 たとえば-

type
   pArray: packed array[index-type1, index-type2, ...] of element-type;
var
   a: pArray;

次の例では、2次元のパックされた配列を宣言して使用します-

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