Pascal - Gepacktes Array

Diese Arrays sind bitgepackt, dh jedes Zeichen oder jeder Wahrheitswert wird in aufeinanderfolgenden Bytes gespeichert, anstatt eine Speichereinheit zu verwenden, normalerweise ein Wort (4 Bytes oder mehr).

Normalerweise werden Zeichen und Boolesche Werte so gespeichert, dass jedes Zeichen oder jeder Wahrheitswert eine Speichereinheit wie ein Wort verwendet. Dies wird als entpackter Modus der Datenspeicherung bezeichnet. Der Speicher ist voll ausgelastet, wenn Zeichen in aufeinanderfolgenden Bytes gespeichert werden. Dies wird als gepackter Datenspeichermodus bezeichnet. Mit Pascal können die Array-Daten im gepackten Modus gespeichert werden.

Packed Arrays deklarieren

Gepackte Arrays werden mit den Schlüsselwörtern deklariert packed arrayanstelle von Array. Zum Beispiel -

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

Im folgenden Beispiel wird ein zweidimensional gepacktes Array deklariert und verwendet.

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.

Wenn der obige Code kompiliert und ausgeführt wird, ergibt sich das folgende Ergebnis:

0 0 0 0
0 1 2 3
0 2 4 6
0 3 6 9

Language