В языке программирования C, использующемся при программировании Ардуино, переменные имеют свойство, называемое область видимости, чего нельзя сказать про первые языки программирования (подобные BASIC), в которых все переменные являются глобальными.
Глобальная переменная — эта та переменная, которая может быть доступна («видна«) из любой функции программы. Локальные переменные доступны только внутри тех функций, в которых они объявлены. При программировании Ардуино, любая переменная, объявленная за пределами функции (таких как, 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
}
}