Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.87/15: Рейтинг темы: голосов - 15, средняя оценка - 4.87
1 / 1 / 0
Регистрация: 18.12.2011
Сообщений: 31

Как передать многомерный массив в функцию? (Arduino)

22.11.2020, 02:44. Показов 3128. Ответов 1
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день, форумчане!

В данном случае создается массив указателей a[], который содержит значения указателей на подмассивы массива А. В show передается указатель на первый элемент массива a.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
void setup(){
  Serial.begin(9600);
  int B[2] = {1,2};
  int A[2][3] = {{1,2,3},{4,5,6}};
  int* a[2];
  for(int i=0; i<2; i++)
    a[i] = A[i];
  show(a, 2,3);
  
}
 
void loop(){}
 
void show(int** ptr, int r, int c){
  for(int i=0; i<r; i++)
    for(int j = 0; j<c; j++)
       Serial.println(ptr[i][j]); 
  
}


При этом, если попытаться проделать это без создания массива указателей a[], то получаю ошибку компилирования, не могу понять почему так.
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
void setup(){
  Serial.begin(9600);
  int B[2] = {1,2};
  int A[2][3] = {{1,2,3},{4,5,6}};
  show(A, 2,3);
  
}
 
void loop(){}
 
void show(int** ptr, int r, int c){
  for(int i=0; i<r; i++)
    for(int j = 0; j<c; j++)
       Serial.println(ptr[i][j]); 
  
}
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
22.11.2020, 02:44
Ответы с готовыми решениями:

Не могу разобраться как передать корректно передать массив из функции в функцию
//--------------------------------------------------------------------------- #pragma hdrstop ...

ajax передать многомерный массив
Подскажите как проще всего передать многомерный массив с помощью ajax в php-функцию Я пытался упаковать массив в виде строки, а потом...

Как передать массив структур в функцию в качестве параметра, чтобы изменения в функции меняли исходный массив?
Допустим есть структура struct Base { int a; int b; int c; }; В основном методе main() объявим массив...

1
6772 / 4565 / 1844
Регистрация: 07.05.2019
Сообщений: 13,726
22.11.2020, 11:41
Цитата Сообщение от trioms Посмотреть сообщение
При этом, если попытаться проделать это без создания массива указателей a[], то получаю ошибку компилирования, не могу понять почему так.
Цитата Сообщение от trioms Посмотреть сообщение
void show(int** ptr, int r, int c){
C++
1
void show(int a[][3], int r, int c)
Добавлено через 5 минут
C++
1
2
3
4
5
template <typename T, size_t Rows, size_t Cols>
void show(T (&arr)[Rows][Cols])
{
    std::cout << typeid(arr).name() << std::endl;
}
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
22.11.2020, 11:41
Помогаю со студенческими работами здесь

Как передать в функцию массив?
Как передать в функцию массив?

Как передать массив в функцию?
Помогите написать функцию, которая возвращает значение true, если символ, полученый функцией как аргумент, является гласной буквой...

Как передать массив в функцию?
Добрый вечер! Задание следующие: Реализовать функцию, которая сдвигает содержимое массива влево на заданное число позиций (циклический...

Как передать массив в функцию
Здравствуйте! Что-то я немного запуталась вот в чём. Требуется написать программу с одномерными массивами и в процессе определять...

Как передать массив в функцию?
Вот код #include&lt;iostream&gt; #include&lt;ctime&gt; #include &lt;cstdlib&gt; #include &lt;iomanip&gt; using namespace std; int F(int a,int* nn){ ...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru