Différences

Ci-dessous, les différences entre deux révisions de la page.

Lien vers cette vue comparative

Les deux révisions précédentes Révision précédente
Prochaine révision
Révision précédente
prog:lazarus:types:array [22/05/2021 15:34]
thierry [Sources & Ressources]
prog:lazarus:types:array [20/03/2023 18:18] (Version actuelle)
thierry [Libération]
Ligne 8: Ligne 8:
  
 </​code>​ </​code>​
 +==== Plusieurs dimensions ====
 +Ce dessous la variable ''​vArrayOfWord''​ contient un tableau a deux dimensions de 0..19 et 0..2\\
 +(comme un tableau de 19 sur 2 cases)
 +<code delphi>
 +vArrayOfWord :  array[0..19][0..2] of word;
 +</​code>​
 +
 +
 ===== Array Dynamic ===== ===== Array Dynamic =====
 ==== Déclaration ==== ==== Déclaration ====
Ligne 37: Ligne 45:
 </​code>​ </​code>​
 J'ai testé et les trois ont le même effet, ils libèrent la même quantité de mémoire. J'ai testé et les trois ont le même effet, ils libèrent la même quantité de mémoire.
 +<​note>​Il est dit [[https://​wiki.freepascal.org/​Dynamic_array/​fr|ICI]]:​\\
 +En affectant ''​nil''​ à une variable tableau dynamique, la mémoire désignée par le pointeur est automatiquement libérée. C'est équivalent à ''​SetLength(MyVariable,​ 0)''​.
 +
 +Cela peut avoir un effet de bord, si la valeur du pointeur n'est pas valide pour différente raisons (i.e., cela a été lu depuis le disque où cela a été enregistré lors d'une précédente exécution). Pour éviter un tel pointeur invalide, vous devez utiliser ''​FillChar(MyVariable,​sizeof(MyVariable),​ #​0)''​.</​note>​
 ===== Array en Const ===== ===== Array en Const =====
 <code delphi> <code delphi>
Ligne 47: Ligne 59:
  
  
-<​note>​Il est dit [[https://​wiki.freepascal.org/​Dynamic_array/​fr|ICI]]:​\\ 
-En affectant ''​nil''​ à une variable tableau dynamique, la mémoire désignée par le pointeur est automatiquement libérée. C'est équivalent à ''​SetLength(MyVariable,​ 0)''​. 
  
-Cela peut avoir un effet de bord, si la valeur du pointeur n'est pas valide pour différente raisons (i.e., cela a été lu depuis le disque où cela a été enregistré lors d'une précédente exécution). Pour éviter un tel pointeur invalide, vous devez utiliser ''​FillChar(MyVariable,​sizeof(MyVariable),​ #​0)''​.</​note>​ 
 ===== Comparaisons ===== ===== Comparaisons =====
   * [[https://​www.arbinada.com/​en/​node/​1411|Comparaison Array / Dynamic Array / TList]]   * [[https://​www.arbinada.com/​en/​node/​1411|Comparaison Array / Dynamic Array / TList]]