Добро пожаловать! Это — архивная версия форумов на «Хакер.Ru». Она работает в режиме read-only.
 

С/C++ как передать много мерный массив в функцию

Пользователи, просматривающие топик: none

Зашли как: Guest
Все форумы >> [Веб-программинг] >> С/C++ как передать много мерный массив в функцию
Имя
Сообщение << Старые топики   Новые топики >>
С/C++ как передать много мерный массив в функцию - 2006-02-03 02:36:36   
Annihi1@toR

Сообщений: 8
Оценки: 0
Присоединился: 2006-02-03 01:57:14
Здорово, хакерюги!!!

[left]Я начинающий ламоботюзверь, изучающий С++.[/left]
Объясните пожалуйста на примере как передать многомерный(в моем случае двумерный) массив в функцию. Без этих супермегауникальных знаний я не могу дописать супермегакульную прогу - игру кресты-нули.
Если можно, то лучше с коментариями пример приведите.<BR>[right]Заранее благодарен.[/right]
Post #: 1
С/C++ как передать много мерный массив в функцию - 2006-02-03 02:59:37   
Python

Сообщений: 4964
Оценки: 0
Присоединился: 2005-12-14 08:32:13
Ну вас… 3 часа ночи, я тоже спать хочу. Завтра может отвечу, если протрезвею. [sm=16.gif]
Post #: 2
С/C++ как передать много мерный массив в функцию - 2006-02-03 05:39:07   
DeathLess

Сообщений: 141
Оценки: 0
Присоединился: 2004-10-19 08:24:04
Имя массива есть указатель. Смекаешь?
Post #: 3
С/C++ как передать много мерный массив в функцию - 2006-02-04 09:29:15   
Annihi1@toR

Сообщений: 8
Оценки: 0
Присоединился: 2006-02-03 01:57:14
DeathLess, ты хочешь сказать, что сначала нужно создать массив указателей на указатели? Приведи, пожалуйста, пример с комментариями.
Post #: 4
С/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++ обычно только со стороны наблюдаю, и такие детали вечно ускользают из моего мозга.
Post #: 5
Страниц:  [1]
Все форумы >> [Веб-программинг] >> С/C++ как передать много мерный массив в функцию







Связаться:
Вопросы по сайту / xakep@glc.ru

Предупреждение: использование полученных знаний в противозаконных целях преследуется по закону.