Сложные моменты освоения Arduino

Written by admin on 01.09.2017 in Arduino with no comments.

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

Таким образом можно определить количество элементов в массиве.

На форуме Амперки нашёл замечательный пост из которого приведу цитату: «Макрос ‘sizeof’ возвращает размер памяти в байтах, который требуется для хранения данных того или иного типа. Для того, что бы узнать количество элементов в массиве, нужно общий размер массива разделить на размер каждого элемента, в данном случае тип элемента ‘char *’:

sizeof(ms) / sizeof(char *)
где — ms строковый массив, соответственно данные в нём хранятся в типе данных char.

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

Вопрос требуется ещё изучить.

Comments are closed.