Arduino:Справочник языка Arduino/Область видимости переменных и квалификаторы/Область видимости: различия между версиями

Материал из Онлайн справочника
Перейти к навигацииПерейти к поиску
м (Замена текста — «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS">» на «<syntaxhighlight lang="c" line="GESHI_NORMAL_LINE_NUMBERS|GESHI_FANCY_LINE_NUMBERS" enclose="div">»)
 
Нет описания правки
Строка 1: Строка 1:
{{#setlogo:ArduinoCommunityLogo.png}}
{{Arduino панель перехода}}
{{Arduino панель перехода}}
{{Myagkij-редактор}}
{{Myagkij-редактор}}
Строка 39: Строка 38:


<references />
<references />
{{Навигационная таблица/Справочник языка Arduino}}
{{Навигационная таблица/Arduino библиотеки}}


[[Категория:Справочник языка Arduino]]
[[Категория:Справочник языка Arduino]]
[[Категория:Область видимости переменных и квалификаторы языка Arduino]]
[[Категория:Область видимости переменных и квалификаторы языка Arduino]]

Версия от 23:23, 19 июня 2019

Проверка/Оформление/Редактирование: Мякишев Е.А.


Область видимости переменных

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

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

Когда программа начинает разрастаться и усложняться, использование локальных переменных – удобный способ, гарантирующий, что только одна функция будет иметь доступ к своим собственным переменным. Тем самым предотвращаются ошибки программирования, когда одна функция непреднамеренно изменяет значения переменных, используемых другой функцией.

Также иногда бывает удобно объявить и инициализировать переменную внутри цикла. При этом создается переменная, доступная только внутри скобок цикла for.

Пример

int gPWMval;  // глобальная переменная, видима в любой функции скетча
void setup()
{
  // ...
}
void loop()
{
  int i;    // "i" видима только внутри "loop"
  float f;  // "f" видима только внутри "loop"
  // ...
 
  for (int j = 0; j <100; j++){
  // переменная j доступна только внутри этого цикла
  }
 
}

См.также

Внешние ссылки