scope

Описание

Переменные в языке программирования C++, который использует Arduino, обладают свойством, называемым областью видимости. Это в отличие от ранних версий языков, таких как BASIC, где каждая переменная является глобальной.

Глобальная переменная — это та, которую видит каждая функция программы. Локальные переменные видны только функции, в которой они объявлены. В среде Arduino любая переменная, объявленная вне функции (например, setup(), loop() и т.д.), является глобальной переменной.

Когда программы становятся больше и сложнее, локальные переменные — это полезный способ обеспечить, чтобы только одна функция имела доступ к её собственным переменным. Это предотвращает ошибки программирования, когда одна функция случайно изменяет переменные, используемые другой функцией.

Также иногда удобно объявлять и инициализировать переменную внутри цикла

for

. Это создаёт переменную, к которой можно обращаться только изнутри скобок цикла for.

Пример кода

int gPWMval;  // эту переменную увидит любая функция

void setup() {
  // ...
}

void loop() {
  int i;    // "i" "видна" только внутри "loop"
  float f;  // "f" "видна" только внутри "loop"
  // ...

  for (int j = 0; j < 100; j++) {
    // переменная j доступна только внутри скобок цикла for
  }
}

Смотрите также