Arduino границы переменных

January 30, 2012 by admin Комментировать »

Переменные могут быть объявлены в начале программы перед void setup(), локально внутри функций, и иногда в блоке выражений таком, как цикл for. То, где объявлена переменная, определяет еѐ границы (область видимости), или возможность некоторых частей программы еѐ использовать.

Глобальные переменные таковы, что их могут видеть и использовать любые функции и выражения программы. Такие переменные декларируются в начале программы перед функцией setup().

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

Следующий пример показывает, как декларировать несколько разных типов переменных, и демонстрирует видимость каждой переменной:

int value;                                           // ‘value’ видима

// для любой функции

void setup()

{

// нет нужды в предустановке

}

void loop(0

{

for (int i =0; i < 20;)                           // ‘i’ видима только

{                                                         // внутри цикла for i++;

}

float f;                                                // ‘f’ видима только

}                                                         // внутри loop

byte

Байт хранит 8-битовое числовое значение без десятичной точки. Он имеет диапазон от 0 до 255.

byte someVariable = 180;    // объявление ‘someVariable’

// как имеющей тип byte

int

Целое — это первый тип данных для хранения чисел без десятичной точки, и хранит 16-битовое значение в диапазоне от 32767 до -32768.

int someVariable = 1500;     // объявление ‘someVariable’

// как переменной целого типа

Примечание: Целые переменные будут переполняться, если форсировать их переход через максимум или минимум при присваивании или сравнении. Например, если x = 32767 и следующее выражение добавляет 1 к x, x = x +1 или x++, в этом случае x переполняется и будет равен -32678.

long

Тип данных увеличенного размера для больших целых, без десятичной точки, сохраняемый в 32-битовом значении с диапазоном от 2147383647 до -2147383648.

long someVariable = 90000;         // декларирует ‘someVariable’

// как переменную типа long

float

Тип данных для чисел с плавающей точкой или чисел, имеющих десятичную точку. Числа с плавающей точкой имеют большее разрешение, чем целые и сохраняются как 32-битовые значения в диапазоне от 3.4028235E+38 до -3.4028235E+38.

float someVariable = 3.14;            // объявление ‘someVariable’

// как переменной типа floating point

Примечание: Числа с плавающей точкой не точные, и могут выдавать странные результаты при сравнении. Вычисления с плавающей точкой медленнее, чем вычисления целых при выполнении расчѐтов, так что, без нужды, их следует избегать.

Источник: Гололобов В. – С чего начинаются роботы. О проекте Arduino для школьников (и не только) – 2011

Оставить комментарий

микросхемы мощности Устройство импульсов питания пример приемника провода витков генератора выходе напряжение напряжения нагрузки радоэлектроника работы сигнал сигнала сигналов управления сопротивление усилитель усилителя усиления устройства схема теория транзистора транзисторов частоты