Инструкции

Справочный раздел

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

Разделы инструкций

В сети

Пользователей: 85
Из них просматривают:
Аналоги: 20. Даташиты: 17. Инструкции: 7. Новости: 14. Профиль пользователя: 1. Расчёты: 1. Теги: 1. Форум: 24.
Участников: 2
Гостей: 83

Google , Яндекс , далее...
Рекорд 2375 человек онлайн установлен 26.12.2015.

Партнёры


Партнёры

Новые объявления

В настоящее время нет объявлений.
Оглавление

static

Описание
Ключевое слово static используется для создания переменных, которые видны только одной функции. Однако в отличие от локальных переменных, которые создаются и уничтожаются каждый раз при вызове функции, переменные static сохраняются за пределами вызова функции, сохраняя свои данные между вызовами функций.

Переменные, объявленные как static, будут созданы и инициализированы только при первом вызове функции.

Пример

/* RandomWalk
  Paul Badger 2007
  RandomWalk случайным образом блуждает вверх и вниз между двумя
  конечные точками. Максимальный значение в одной петле определяется
  параметром 'stepize'.
  Статическая переменная перемещается вверх и вниз на случайную величину.
  Этот прием также известен как «розовый шум».
*/

#define randomWalkLowRange -20
#define randomWalkHighRange 20
int stepsize;

int thisTime;

void setup() {
Serial.begin(9600);
}

void loop() {
// test randomWalk function
stepsize = 5;
thisTime = randomWalk(stepsize);
Serial.println(thisTime);
delay(10);
}

int randomWalk(int moveSize) {
static int place; // переменная для хранения величины случайного перемещения - объявлена как static
// поэтому сохраняет свое значение между вызовами функции. При этом другие функции не могут ее изменить

place = place + (random(-moveSize, moveSize + 1));

if (place < randomWalkLowRange) { // проверка нижнего и верхнего пределов
place = randomWalkLowRange + (randomWalkLowRange - place); // если меньше, то увеличиваем
}
else if (place > randomWalkHighRange) {
place = randomWalkHighRange - (place - randomWalkHighRange); // если больше, то уменьшаем
}

return place;
}


Комментарии принадлежат их авторам. Мы не несем ответственности за их содержание.

Разное

Интересно

Семь раз отмерь, один раз отрежь. И не перепутай!

Похожие инструкции