С/C++ как передать много мерный массив в функцию
Пользователи, просматривающие топик: none
|
Зашли как: Guest
|
Имя |
Сообщение |
<< Старые топики Новые топики >> |
|
|
С/C++ как передать много мерный массив в функцию - 2006-02-03 02:36:36
|
|
|
Annihi1@toR
Сообщений: 8
Оценки: 0
Присоединился: 2006-02-03 01:57:14
|
Здорово, хакерюги!!! [left]Я начинающий ламоботюзверь, изучающий С++.[/left] Объясните пожалуйста на примере как передать многомерный(в моем случае двумерный) массив в функцию. Без этих супермегауникальных знаний я не могу дописать супермегакульную прогу - игру кресты-нули. Если можно, то лучше с коментариями пример приведите.<BR>[right]Заранее благодарен.[/right]
|
|
|
С/C++ как передать много мерный массив в функцию - 2006-02-03 02:59:37
|
|
|
Python
Сообщений: 4964
Оценки: 0
Присоединился: 2005-12-14 08:32:13
|
Ну вас… 3 часа ночи, я тоже спать хочу. Завтра может отвечу, если протрезвею. [sm=16.gif]
|
|
|
С/C++ как передать много мерный массив в функцию - 2006-02-03 05:39:07
|
|
|
DeathLess
Сообщений: 141
Оценки: 0
Присоединился: 2004-10-19 08:24:04
|
Имя массива есть указатель. Смекаешь?
|
|
|
С/C++ как передать много мерный массив в функцию - 2006-02-04 09:29:15
|
|
|
Annihi1@toR
Сообщений: 8
Оценки: 0
Присоединился: 2006-02-03 01:57:14
|
DeathLess, ты хочешь сказать, что сначала нужно создать массив указателей на указатели? Приведи, пожалуйста, пример с комментариями.
|
|
|
С/C++ как передать много мерный массив в функцию - 2006-02-04 21:46:20
|
|
|
rgo
Сообщений: 7170
Оценки: 281
Присоединился: 2004-09-25 05:14:25
|
char array[32][32]; // <– объявили
my_cool_func (array); // <– вызвали функцию, передав в неё массив.
Причём способ, которым передали, зависит от объявления my_cool_func.
через указатель: void my_cool_func (char** arg); // указатель на указатель или void my_cool_func (char* arg[]); // массив указателей неопределённой длины или void my_cool_func (char* arg[32]); // массив указателей длины 32 шт. или void my_cool_func (char arg[32][32]); // массив массивов или просто двумерный массив можно и так: void my_cool_func (char arg[][]);
на самом деле способ передачи то один и тот же, но c++, в отличие от C, очень сурьёзно относится к преобразованиям типов, так что возможно не все объявления подойдут для c++, без явного преобразования типа при передаче аргумента. Я просто c++ обычно только со стороны наблюдаю, и такие детали вечно ускользают из моего мозга.
|
|
|
|
|