array

Description :

Un tableau est un ensemble de variables auxquelles on accède avec un numéro d’index. Les tableaux dans le langage de programmation C++ dans lesquels les croquis Arduino sont écrits peuvent être compliqués, mais l’utilisation de tableaux simples est relativement simple.

Créer (déclarer) un tableau :

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

int myInts[6];
int myPins[] = {2, 4, 8, 3, 6};
int mySensVals[5] = {2, 4, -8, 3, 2};
char message[6] = "hello";

 

Vous pouvez déclarer un tableau sans l’initialiser comme dans myInts.
Dans myPins, nous déclarons un tableau sans choisir explicitement une taille. Le compilateur compte les éléments et crée un tableau de la taille appropriée.
Enfin, vous pouvez à la fois initialiser et dimensionner votre tableau, comme dans mySensVals. Notez que lors de la déclaration d’un tableau de type char, un élément de plus que votre initialisation est requis, pour contenir le caractère null requis.

Accéder à une case :

Les tableaux sont indexés à zéro, c’est-à-dire que, en se référant à l’initialisation du tableau ci-dessus, le premier élément du tableau est à l’indice 0, d’où

mySensVals[0] == 2, mySensVals[1] == 4, et ainsi de suite.

Cela signifie également que dans un tableau avec dix éléments, l’index neuf est le dernier élément. D’où:

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)

 

Pour cette raison, vous devez être prudent lorsque vous accédez aux baies. Accéder au-delà de la fin d’un tableau (en utilisant un numéro d’index supérieur à la taille de tableau déclarée – 1) revient à lire à partir de la mémoire qui est utilisée à d’autres fins. La lecture à partir de ces emplacements ne fera probablement pas grand-chose, à part produire des données invalides. Écrire dans des emplacements de mémoire aléatoires est certainement une mauvaise idée et peut souvent conduire à des résultats malheureux tels que des plantages ou un dysfonctionnement du programme. Cela peut également être un bug difficile à localiser.

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

Pour affecter 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 à l’intérieur des boucles for, où le compteur de boucles est utilisé comme index pour chaque élément du tableau. Par exemple, pour imprimer les éléments d’un tableau sur le port série, vous pouvez faire quelque chose comme ceci :

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, voir le ( exemple Knight Rider ) du ( Tutoriels ).

 


 

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

 

Laisser un commentaire