Diese Seite ist auch in 2 anderen Sprachen verfügbar.
Sprache wechseln  

scope

[Data Types]

Beschreibung

Variablen in der C++-Programmiersprache, auf die Arduino aufbaut, haben eine Eigenschaft, die sich Scope nennt. Im Gegensatz zu früheren Programmiersprachen, wie z.B. BASIC, sind in C nicht alle Variablen global verfügar.

Eine globale Variable ist eine Variable, die von jeder Funktion in dem Programm "gesehen" werden kann. Lokale Variablen sind nur gültig in der Funktion, in der sie deklariert wurden und können von außerhalb nicht verändert werden. In der Arduino-Umgebung ist jede Variable, die außerhalb einer Funktion (z.B. setup(), loop(), etc. ) definiert wird, eine globale Variable.

Wenn Programme größer und komplexer werden, sind lokale Variablen eine Möglichkeit, sicherzustellen, dass nur die Funktion Zugriff auf die Variable hat, die dies wirklich benötigt. Das verhindert unter Anderem, dass Funktionen unabsichtlich die Variablen anderer Funktionen ändern und damit unvorhersehbare Ergebnisse produzieren.

Manchmal macht es auch Sinn, eine Variable direkt in einer for-Schleife zu initialisieren. Diese Variable ist dann nur innerhalb der for-Schleife gültig.

Beispielcode

Der Code beschreibt den Unterschied zwischen lokalen und globalen Variablen.

int gPWMval;  // Globale Variable, die jede Funktion "sehen" kann

void setup() {
  // ...
}

void loop() {
  int i;    // "i" ist nur "sichtbar" innerhalb von "loop"
  float f;  // "f" ist nur "sichtbar" innerhalb von "loop"
  // ...

  for (int j = 0; j <100; j++) {
    // Variable j kann nur innerhalb der Schleife benutzt werden
  }
}

Siehe auch