Arduino:Справочник языка Arduino/Типы данных/array

Материал из Онлайн справочника
Перейти к навигации Перейти к поиску

Проверка/Оформление/Редактирование: Мякишев Е.А.


Массивы

Массивы (arrays) — именованный набор однотипных переменных, с доступом к отдельным элементам по их индексу.

Объявление массивов

Ниже приведены несколько корректных вариантов объявления массивов:

1 int myInts[6]; //Массив может быть объявлен без непосредственной инициализации элементов массива, как в случае массива myInts.
2 int myPins[] = {2, 4, 8, 3, 6}; //Массив myPins был объявлен без явного задания размера. Компилятор сам посчитает фактическое количество элементов и создаcт в памяти  массив необходимого размера.
3 int mySensVals[6] = {2, 4, -8, 3, 2, 1};
4 char message[6] = "hello"; //Размер может быть задан явно, одновременно с инициализацией элементов массива. Обратите внимания, что при создании массива типа char, необходим дополнительный элемент массива для нулевого символа.

Доступ к элементам массива

Индексация массива начинается с 0. Это значит, что для массива с 10-тью элементами, индекс 9 будет последним:

1 int myArray[10]={9,3,2,4,3,2,7,8,9,11};
2      // myArray[0]    первый элемент, содержит 9
3      // myArray[9]    последний элемент, содержит 11
4      // myArray[10]   это неверно возможно возвращение произвольного значения из области памяти не относящийся к массиву

Присваиваем значение элементу массива:

1 mySensVals[0] = 10;

Возвращаем значение элемента массива:

1 x = mySensVals[4];

Массивы и FOR циклы

Чаще всего для перебора элементов цикла используется цикл for, счетчик цикла используется как индекс для доступа к каждому элементу массива. Например, для вывода массива через Serial порт можно использовать следующий код:

1 int i;
2 for (i = 0; i < 5; i = i + 1) {
3   Serial.println(myPins[i]);
4 }

См.также

Внешние ссылки