Как правильно?
- Войдите на сайт для отправки комментариев
Ср, 08/01/2020 - 21:51
Нахватавшись много всего и разного из разных мест, никак не могу взять в толк: что правильнее - с точки зрения программирования для Arduino, разумеется - в плане объявления переменных?
uint8_t i; for (i=0; i<8; i++) { <некий код> }
или же
for (uint8_t i=0; i<8; i++) { <некий код> }
Т.е. я имею ввиду, для стандартного Arduino IDE какой вариант объявления переменной более правильный - предварительный или непосредственно перед использованием? В чем между ними разница?
разница в области видимости (или чтоб вам было понятнее - в "области действия") переменной i
Во втором случае эта область ограничена только циклом for и после скобки на строке 3 переменная i перестанет существовать, а в первом продолжит занимать место в памяти
"Как правильнее?" - зависит от того, что вам нужно
Оба правильные.
Спасибо ответившим! Вы развеяли мои сомнения.
Тогда, с вашего позволения, следующий вопрос. Как правильнее сделать?
Вариант А:
Вариант В:
В чем разница при таких способах объявления массива?
В чем разница при таких способах объявления массива?
Если объявления глобальны (вне функции) в варианте А память выделяется динамически, в процессе выполнения программы и может быть потом освобождена. А в варианте Б навсегда.
Если внутри функции. То вариант А отрабатывает так же, но остается зарезвированной и после выхода из фунции. А в варианте Б удаляется из памяти (стека) по выходу из функции.
А вообще, возьмите учебник по С/С++, там все это расписано.