| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > Передача двумерного массива в функцию |
| Автор: Negent 22.6.2014, 23:37 | ||
| Как я знаю, имя массива и указателя тождественны в С++. Из этого следует, что можно инициализировать указатель, а работать с ним, как с именем массива, добавив индекс (квадратный скобки) или смещение к имени массива и круглые скобки со звёздочкой... Но не в этом суть. Я пробовал ввести передачу в функцию двумерного массива (столбы и строки) - не вышло. Очевидно, что где-то вкралась ошибка. Вот код:
Хотя бы дайте общие понятия по логике передачи адреса двух- и более мерного массива в функцию, а дальше, я сам попробую написать =) |
| Автор: feodorv 23.6.2014, 07:21 | ||
Как-то так:
Это как раз для случая, когда размеры массива заранее известны: А если же они заранее неизвестны, то нужно действовать иначе... |
| Автор: Negent 23.6.2014, 18:02 | ||
| Спасибо! =) Как ни крутился, всё равно без глобальных переменных обойтись не удалось:
Наверное, нужно пересмотреть методику создания самого массива =) |
| Автор: Nerevar 23.6.2014, 19:57 | ||||
| Вообщем в С и С++ с многомерными массивами полный пздц и срань господняя :-( При создании многомерного статического массива, вы обязаны указывать за ранее все последующие размерности, кроме первой т.е. Array[][2][5]; Если же вы не можете знать за ранее размер массива, то таки да:
и создавать массив динамически, (но с динамическими массивами ещё столько дерьма хлебнёшь пока научишься с ними управляться...) например так:
Этот ответ добавлен с нового Винграда - http://ru.vingrad.com/Peredacha-dvumernogo-massiva-v-funktsiyu-id53a73ee6ae201570358b4567#findElement_E7045_53a85c6dae2015813e347ca7_0 |