scope
Description :
Les variables du langage de programmation C++, utilisé par Arduino, possèdent une propriété appelée portée. Ceci contraste avec les premières versions de langages comme BASIC, où chaque variable est une variable globale.
Une variable globale est visible par toutes les fonctions d’un programme. Les variables locales ne sont visibles que par la fonction dans laquelle elles sont déclarées. Dans l’environnement Arduino, toute variable déclarée en dehors d’une fonction (par exemple, setup(), loop(), etc.) est une variable globale.
Lorsque les programmes deviennent plus volumineux et complexes, les variables locales sont un moyen utile de garantir qu’une seule fonction ait accès à ses propres variables. Cela évite les erreurs de programmation lorsqu’une fonction modifie par inadvertance des variables utilisées par une autre fonction.
Il est également parfois pratique de déclarer et d’initialiser une variable dans une boucle for. Cela crée une variable accessible uniquement depuis les crochets de la boucle for.
Exemple de code :
int gPWMval; // toute fonction verra cette variable void setup() { // ... } void loop() { int i; // "i" n'est « visible » qu'à l'intérieur de "loop" float f; // "f" n'est « visible » qu'à l'intérieur de "loop" // ... for (int j = 0; j < 100; j++) { // la variable j n'est accessible qu'à l'intérieur des crochets de la boucle fo } }
Source : https://docs.arduino.cc/language-reference/en/variables/variable-scope-qualifiers/scope/