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
}
}