Différences
Ci-dessous, les différences entre deux révisions de la page.
Les deux révisions précédentes Révision précédente Prochaine révision | Révision précédente | ||
prog:lazarus:types:array [18/02/2023 17:49] thierry [Array Static] |
prog:lazarus:types:array [20/03/2023 18:18] (Version actuelle) thierry [Libération] |
||
---|---|---|---|
Ligne 9: | Ligne 9: | ||
</code> | </code> | ||
==== Plusieurs dimensions ==== | ==== Plusieurs dimensions ==== | ||
- | Ce dessous un tableau a deux dimensions de 0..19 et 0..2\\ | + | 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) | (comme un tableau de 19 sur 2 cases) | ||
<code delphi> | <code delphi> | ||
- | TArrayOfWord = array[0..19][0..2] of string; | + | vArrayOfWord : array[0..19][0..2] of word; |
</code> | </code> | ||
Ligne 45: | 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 55: | 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]] |