Pascal - Tableaux dynamiques

Dans le cas d'un type de tableau dynamique, la longueur initiale du tableau est zéro. La longueur réelle du tableau doit être définie avec la normeSetLength , qui allouera la mémoire nécessaire pour stocker les éléments du tableau.

Déclaration de tableaux dynamiques

Pour déclarer des tableaux dynamiques, vous ne mentionnez pas la plage de tableaux. Par exemple -

type  
   darray = array of integer;
var
   a: darray;

Avant d'utiliser le tableau, vous devez déclarer la taille à l'aide du setlength fonction -

setlength(a,100);

Maintenant, le tableau a a une plage d'index de tableau valide de 0 à 99: l'index du tableau est toujours de base zéro.

L'exemple suivant déclare et utilise un tableau dynamique à deux dimensions -

program exDynarray; 
var
   a: array of array of integer; (* a 2 dimensional array *)
   i, j : integer;  

begin  
   setlength(a,5,5);  
   for i:=0 to 4 do  
      for j:=0 to 4 do  
         a[i,j]:= i * j;  
   
   for i:=0 to 4 do  
   begin  
      for j:= 0 to 4 do  
      write(a[i,j]:2,' ');  
    writeln;  
   end;  
end.

Lorsque le code ci-dessus est compilé et exécuté, il produit le résultat suivant -

0 0 0 0  0
0 1 2 3  4
0 2 4 6  8
0 3 6 9  12
0 4 8 12 16