Возможно ли иметь массив массивов int?
У меня есть огромное количество массивов, каждый из которых содержит ряд чисел, каждый из которых относится к светодиоду на полоске. Я хочу иметь возможность обращаться к каждому по номеру, поэтому логичным решением для меня было превратить все это в массив. Можно ли это сделать или можно ли реализовать лучший обходной путь?
@mr-matt, 👍5
Обсуждение1 ответ
Лучший ответ:
Да, массивы могут находиться внутри массивов.
Массив будет объявлен как:
int arrayName [ x ][ y ];
где x
— количество строк, а y
— количество столбцов.
В примере ниже объявляется и инициализируется двумерный массив с 3 строками и 10 столбцами:
int myArray[3][10] = { { 1, 2, 3, 4, 5, 6, 7, 8, 9, 10 },
{ 11, 12, 13, 14, 15, 16, 17, 18, 19, 20 },
{ 21, 22, 23, 24, 25, 26, 27, 28, 29, 30 } };
Чтобы получить доступ к значению 27 (и сохранить его в myValue):
myValue = myArray[2][6];
Что делать, если мне нужен массив указателей на массивы?, @shinzou
https://stackoverflow.com/q/11363226/6075112 и https://stackoverflow.com/a/936702/6075112, @sa_leinad
Стоит добавить, что этот 2D-массив на самом деле представляет собой массив из трех массивов по 10 чисел. Не все языки программирования используют [порядок строк](https://en.wikipedia.org/wiki/Row-_and_column-major_order)., @Edgar Bonet
- Замена нескольких выводов pinMode() и digitalWrite() на массив
- Ошибка: invalid application of 'sizeof' to incomplete type 'int []' при попытке вычислить размер массива в библиотеке
- Инициализация массива структур
- Невозможно создать массив типа const char*
- Работает ли конструкция int array[100] = {0} на Arduino?
- Массив динамического размера в качестве члена класса
- Длина константного массива uint8_t*
- Получение шестнадцатеричных данных с терминала
Да, это возможно: вам следует заглянуть на http://www.cplusplus.com/doc/tutorial/arrays/ и поискать там «многомерные массивы»., @jfpoilpret
Честное слово, мой разум взорван. Спасибо за это @jfpoilpret. Я посмотрю, что я могу с этим сделать., @mr-matt
У меня вопрос. Что, если у нас есть массив a[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; б[] = {1, 2, 3, 4, 5, 6, 7, 8, 9}; а затем используйте другой массив для сбора массивов перед определением, za[] = {a[], b[]}; или
za[] = {a, b};
Я пробовал это раньше с массивом светодиодов, который другой человек определял буквы как двоичный код, и я пытался обновить этот код и использовать следующий массив для хранения набора букв, который будет использовать определение массивов из строк с двоичным кодом., @maxim