VariableDeclaration

Материал из MK90.ORG wiki
Перейти к: навигация, поиск

Справка Язык | Библиотеки | Сравнение | Изменения

Переменные

Описание

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

Объявление переменных

Перед использованием переменной, она должна быть объявлена. Объявление состоит из типа переменной и необязательного начального значения (инициализатора). Переменные не требуют инициализации (присвоения начального значения) при объявлении, но эта возможность часто используется.


int inputVariable1;
int inputVariable2 = 0;     // оба варианта корректны 

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

Область видимости

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

Инициализация

Переменные могут быть инициализированы в процессе объявления. Это является хорошим стилем программирования и помогает быть уверенным в том, что переменная содержит правильное значение перед тем, как вы начнете ее использовать.

Например:

int calibrationVal = 17;  // объявить calibrationVal и присвоить ему начальное значение 

Переполнение переменных

Когда хранящееся в переменной значение превышает максимально допустимое, оно переполняется (roll over) и в результате становится меньше. Имейте ввиду, что это происходит в обоих направлениях.


   int x
   x = -32,768;
   x = x - 1;       // x теперь содержит 32,767 - переполнение в отрицательном направлении 
   x = 32,767;
   x = x + 1;       // x теперь содержит -32,768 - переполнение

Использование переменных

После объявления переменную можно использовать для хранения значений - например, слева в операторе присваивания (одинарный знак равенства). Оператор присваивания вычисляет все, что находится слева от знака равенства и присваивает полученное значение переменной, расположенной слева.


inputVariable1 = 7;             // установить значение переменной по имени inputVariable1 в 7
inputVariable2 = analogRead(2); // установить значение переменной по имени inputVariable2 в  
                                // цифровой эквивалент напряжения на входе аналогового пина #2

Примеры


 int lightSensVal;
 char currentLetter;
 unsigned long speedOfLight = 186000UL;
 char errorMessage = {"choose another option"}; // см. тип string

Как только переменной присвоено значение, его можно использовать - в выражениях, напрямую, либо для проверки условий. Например, следующий код проверяет, что значение переменной inputVariable2 меньше 100, а затем делает задержку на значение inputVariable2, минимум 100:

if (inputVariable2 < 100)
{
  inputVariable2 = 100;
}

delay(inputVariable2);

Этот пример демонстрирует все три способа использования переменных. Переменная участвует в условии ( if (inputVariable2 < 100) ), переменной присваивается значение ( inputVariable2 = 100 ), наконец значение переменной передается в качестве входного параметра в функцию формирования задержки delay() ( delay(inputVariable2) )

Замечания по стилю: Всегда давайте переменным осмысленные имена, это делает ваш код более читаемым. Имена переменных наподобие tiltSensor или pushButton помогут вам (и любому, читающему ваш код) понять назначение переменных. И, напротив - имена переменных var или value ничего не проясняют по поводу их предназначения.

Вы можете называть переменную любым словом, за исключением ключевых слов Arduino. Избегайте названий, начинающихся с цифры.

Некоторые типы переменных

Руководство по Wiring


Исправления, пожелания и новые статьи должны быть опубликованы через Форум.

Оригинальные тексты руководств и переводы распространяются Arduino и MK90 на условиях лицензии Creative Commons Attribution-ShareAlike 3.0 License. Примеры исходных кодов и ссылки являются общественным достоянием.