Arrays

20 min Niveau 3

Un tableau (Array) est une structure de données qui stocke une collection séquentielle de taille fixe d'éléments du même type. Un tableau est utilisé pour stocker une collection de données, mais il est souvent plus utile de considérer un tableau comme une collection de variables du même type.

Au lieu de déclarer des variables individuelles, telles que nombre0, nombre1, ..., et nombre99, vous déclarez une variable de tableau telle que nombres et utilisez nombres[0], nombres[1], etc ..., nombres[99] pour représenter les variables individuelles. On accède à un élément spécifique d'un tableau par un index.

Dans Solidity, un tableau peut avoir une taille fixe au moment de la compilation ou une taille dynamique. Pour un tableau de mémoire, il peut également avoir différents types d'éléments. Dans le cas d'un tableau de mémoire, le type d'élément ne peut pas être un mapping et s'il doit être utilisé comme paramètre de fonction, le type d'élément doit être un type ABI.

Tous les tableaux sont constitués d'emplacements mémoire contigus. L'adresse la plus basse correspond au premier élément et l'adresse la plus haute au dernier élément.

Déclaration des tableaux

Pour déclarer un tableau de taille fixe dans Solidity, le programmeur spécifie le type des éléments et le nombre d'éléments requis par un tableau, comme suit :

type arrayName [ arraySize ];

On appelle cela un tableau unidimensionnel. Le arraySize doit être une constante entière supérieure à zéro et le type peut être n'importe quel type de données Solidity valide. Par exemple, pour déclarer un tableau de 10 éléments appelé balance de type uint, utilisez l'instruction :

uint balance[10];

Pour déclarer un tableau de taille dynamique dans Solidity, le programmeur spécifie le type des éléments de la manière suivante :

type[] arrayName;

Initialisation des tableaux

Vous pouvez initialiser les éléments d'un tableau Solidity un par un ou à l'aide d'une seule instruction, comme suit :

uint balance[3] = [1, 2, 3];

Le nombre de valeurs entre accolades [ ] ne peut pas être supérieur au nombre d'éléments que nous déclarons pour le tableau entre crochets [ ]. L'exemple suivant permet d'assigner un seul élément du tableau - [1].

Si vous omettez la taille du tableau, un tableau juste assez grand pour contenir l'initialisation est créé. Par conséquent, si vous écrivez :

uint balance[] = [1, 2, 3];

Vous créerez exactement le même tableau que dans l'exemple précédent.

balance[2] = 5;

L'instruction ci-dessus attribue à l'élément numéro 3 du tableau une valeur de 5.

Création de tableaux de mémoire dynamique

logo discord

Besoin d'aide ?

Rejoignez notre communauté officielle et ne restez plus seul à bloquer sur un problème !

En savoir plus