Retourner le tableau de la fonction dans Arduino

Ammar Ali 12 octobre 2023
Retourner le tableau de la fonction dans Arduino

Ce tutoriel discutera du retour d’un tableau à partir d’une fonction en modifiant un tableau existant dans Arduino.

Retourner le tableau de la fonction dans Arduino

Dans Arduino, nous pouvons initialiser un tableau avec une taille donnée ; après avoir initialisé un tableau, nous pouvons ajouter ou remplacer des valeurs du tableau à l’aide d’une fonction.

Si nous voulons initialiser et créer un tableau à l’intérieur d’une fonction, puis le retourner lorsque la fonction est appelée, nous devons utiliser l’allocation de mémoire dynamique, qui se fait à l’aide des fonctions malloc() et free(), et nous devons également utiliser les pointeurs dans Arduino.

Le problème est que si nous créons et renvoyons un tableau à partir d’une fonction utilisant l’allocation de mémoire dynamique, le résultat peut changer en raison de fuites de mémoire et de pointeurs pendants. Il est donc préférable d’initialiser un tableau et de modifier ses valeurs à l’aide d’une fonction plutôt que de renvoyer un tableau entier à partir d’une fonction.

Par exemple, initialisons un tableau avec une taille entière constante, puis créons une fonction pour modifier les valeurs du tableau. Voir le code ci-dessous.

const int size = 10;
int MyArray[size];

void CreateArray() {
  for (int i = 0; i < size; i++) {
    MyArray[i] = i;
  }
}

void setup() {
  Serial.begin(9600);
  CreateArray();
  for (int i = 0; i < size; i++) {
    Serial.println(MyArray[i]);
  }
}
void loop() {}

Production:

0
1
2
3
4
5
6
7
8
9

Dans le code ci-dessus, nous avons initialisé le tableau en utilisant un entier constant car nous devons utiliser un entier constant pour initialiser un tableau, et si nous n’utilisons pas d’entier constant, Arduino affichera une erreur. Nous n’avons stocké aucune valeur dans le tableau, mais nous pouvons également stocker des valeurs lorsque nous initialisons un tableau.

Si nous ne stockons aucune valeur dans un tableau, le tableau sera initialisé avec des valeurs NULL. Nous avons créé la fonction CreateArray() pour stocker les valeurs dans le tableau.

Le type de retour CreateArray() est void, ce qui signifie que nous ne voulons rien retourner car nous ne voulons stocker que des valeurs dans le tableau. Nous pouvons changer le type de retour si nous voulons retourner quelque chose ; comme, si nous voulons retourner une valeur entière, nous pouvons définir le type de retour int.

Nous avons utilisé une boucle for pour stocker des valeurs dans le tableau, mais nous pouvons également stocker manuellement des valeurs dans le tableau. Nous avons appelé la fonction CreateArray() à l’intérieur de la fonction setup() pour modifier les valeurs du tableau avant de l’utiliser pour les imprimer.

Nous avons utilisé le moniteur série d’Arduino pour imprimer les valeurs du tableau, et comme nous pouvons le voir dans la sortie, dix valeurs sont présentes dans le tableau.

Auteur: Ammar Ali
Ammar Ali avatar Ammar Ali avatar

Hello! I am Ammar Ali, a programmer here to learn from experience, people, and docs, and create interesting and useful programming content. I mostly create content about Python, Matlab, and Microcontrollers like Arduino and PIC.

LinkedIn Facebook

Article connexe - Arduino Function