Reference   Language | Libraries | Comparison | Changes

Variabelbereich

Variablen in der Programmiersprache C, welche auch Arduino nutzt, haben einen Eigenschaft namens scope. Dies ist im Gegensatz zu Sprachen wie BASIC, bei denen alle Variablen global sind.

Einen globale Variable kann von jeder Funktion im Programm gesehen werden. Lokale Variablen hingegen sind nur für die Funktion sichtbar, in der sie auch deklariert wurden. In der Arduinoumgebung sind alle Variablen die außerhalb von Funktionen deklariert worden sind (z.B. setup(), loop(), etc. ) global.

Wenn Programme größer und komplexer werden, sind lokale Variablen ein sinnvoller Weg um sicherzustellen, dass nur eine Funktion Zugriff auf ihre eigenen Variablen hat. Dies verhindert Programmierfehler, bei dem eine Funktion irrtümlich eine Variable einer anderen Funktion verändert.

Außerdem ist es manchmal geschickt Variablen in einer for Schleife zu deklarieren und initialisieren. Diese Erstellt eine Variable von der nur innerhalb der for-Schleife zugegriffen werden kann.

Beispiel:

int gPWMval;  // any function will see this variable

void setup()
{
  // ...
}

void loop()
{
  int i;    // "i" is only "visible" inside of "loop"
  float f;  // "f" is only "visible" inside of "loop"
  // ...

  for (int j = 0; j <100; j++){
  // variable j can only be accessed inside the for-loop brackets
  }

}

Reference Home

Corrections, suggestions, and new documentation should be posted to the Forum.

The text of the Arduino reference is licensed under a Creative Commons Attribution-ShareAlike 3.0 License. Code samples in the reference are released into the public domain.

Share