|

array (tableau)


Description :

Un tableau est un ensemble de variables accessibles par un numéro d’index. En C++, les tableaux utilisés pour les croquis Arduino peuvent être complexes, mais leur utilisation est relativement simple.

Création (déclaration) d’un tableau :

Toutes les méthodes ci-dessous sont des moyens valides pour créer (déclarer) un tableau.

// Déclarez un tableau d'une longueur donnée sans initialiser les valeurs :
      int myInts[6];

      // Déclarer un tableau sans choisir explicitement une taille (le compilateur
      // compte les éléments et crée un tableau de la taille appropriée) :
      int myPins[] = {2, 4, 8, 3, 6, 4};

      // Déclarez un tableau d'une longueur donnée et initialisez ses valeurs
      int mySensVals[5] = {2, 4, -8, 3, 2};

      // Lors de la déclaration d'un tableau de type char, vous devrez le rendre plus long
      // par un élément pour contenir le caractère de terminaison nul requis :
      char message[6] = "hello";

Accéder à un tableau :

Les tableaux sont indexés à zéro, c’est-à-dire qu’en se référant à l’initialisation du tableau ci-dessus, le premier élément du tableau est à l’index 0, donc :

mySensVals[0] == 2, mySensVals[1] == 4

Et ainsi de suite.

Cela signifie également que dans un tableau de dix éléments, l’indice neuf est le dernier élément. Par conséquent :

int myArray[10]={9, 3, 2, 4, 3, 2, 7, 8, 9, 11};
    // myArray[9]    contient 11
    // myArray[10]   est invalide et contient des informations aléatoires (autre adresse mémoire)

C’est pourquoi vous devez être prudent lors de l’accès aux tableaux. Accéder au-delà de la fin d’un tableau (en utilisant un numéro d’index supérieur à la taille déclarée du tableau – 1) revient à lire de la mémoire utilisée à d’autres fins. Lire à partir de ces emplacements n’aura probablement pas grand-chose, si ce n’est générer des données invalides. Écrire dans des emplacements mémoire aléatoires est une mauvaise idée et peut souvent entraîner des résultats fâcheux, tels que des plantages ou des dysfonctionnements du programme. Ce bug peut également être difficile à détecter.

Contrairement à BASIC ou JAVA, le compilateur C++ ne vérifie pas si l’accès au tableau respecte les limites légales de la taille déclarée.

Pour attribuer une valeur à un tableau :

mySensVals[0] = 10;

Pour récupérer une valeur d’un tableau :

x = mySensVals[4];

Tableaux et boucles FOR :

Les tableaux sont souvent manipulés dans des boucles for, où le compteur de boucles sert d’index pour chaque élément du tableau. Par exemple, pour afficher les éléments d’un tableau sur le port série, vous pouvez procéder comme suit :

for (byte i = 0; i < 5; i = i + 1) {
      Serial.println(myPins[i]);
    }

Exemple de code :

Pour un programme complet qui démontre l’utilisation des tableaux, consultez l’exemple Comment utiliser les tableaux dans (Exemples intégrés).


Source : https://docs.arduino.cc/language-reference/en/variables/data-types/array/

Publications similaires

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *