- Библиотеки
- Операторы
- Sketch
- Управляющие операторы
- Синтаксис
- Арифметические операторы
- Операторы сравнения
- Логические операторы
- Указатели доступа
- Битовые операторы
- Составные операторы
- Данные
- Типы данных
- Преобразование типов данных
- Область видимости переменных и квалификаторы
- Область видимости
- Утилиты
- Функции
- Цифровой ввод/вывод
- Аналоговый вход/выход
- Расширенный ввод/вывод
- Время
- Математические функции
- Тригонометрические функции
- Символы
- Случайные числа
- Биты и байты
- Внешние Прерывания
- Прерывания
- Функции передачи данных
- Функции
Область видимости
Описание
Переменные в языке программирования 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 доступна только внутри скобок цикла
}
}