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

Материал из ВикиСправочника
Перейти к: навигация, поиск

{{#setlogo:ArduinoCommunityLogo.png}}

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


Массивы

Массивы (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. }

См.также

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