Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > C/C++ программирование > Общие вопросы C/C++
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 23.05.2012, 10:23   #1
WWer
Новичок
Джуниор
 
Регистрация: 23.05.2012
Сообщений: 2
По умолчанию Как преоброзовать char[][] в char*[]?

Вроде как бы массив преобразовываться в указатель неявно(обратного преобразования нет), так почему для двухмерного массива char[][] это не происходит неявно не пойму... Как хотя бы сделать это явно? Есть ли способы?
То есть я хочу определить скажем char s[100][30] = {"fgdfgdf","ktysdfs",...}; и передать в функцию fn(char* s[]), вместо того чтобы определять char *s[100] и выделять память при помощи new.

Последний раз редактировалось WWer; 23.05.2012 в 10:27.
WWer вне форума Ответить с цитированием
Старый 23.05.2012, 11:37   #2
Granus
С++
Форумчанин
 
Аватар для Granus
 
Регистрация: 22.09.2008
Сообщений: 791
По умолчанию

Может быть, потому что компилятор хранит статические многомерные массивы как-то хитро.
Выделите динамически и не парьтесь.
Форматируйте код, будьте людьми.
Granus вне форума Ответить с цитированием
Старый 23.05.2012, 11:51   #3
_Bers
Старожил
 
Регистрация: 16.12.2011
Сообщений: 2,329
По умолчанию

http://liveworkspace.org/code/0a8ed8...476bd260bb13e8

или даже вот так:

http://liveworkspace.org/code/64f29f...126cb9e5e803ae

Последний раз редактировалось _Bers; 23.05.2012 в 12:07.
_Bers вне форума Ответить с цитированием
Старый 25.05.2012, 05:21   #4
WWer
Новичок
Джуниор
 
Регистрация: 23.05.2012
Сообщений: 2
По умолчанию

Цитата:
Сообщение от _Bers Посмотреть сообщение
можно и так, но в данной задаче функция уже готова, и не хочется ее менять.
да и вообще этот вопрос для меня больше для саморазвития по С/С++
хочется все знать и понимать...
WWer вне форума Ответить с цитированием
Старый 25.05.2012, 05:49   #5
Пепел Феникса
Старожил
 
Аватар для Пепел Феникса
 
Регистрация: 28.01.2009
Сообщений: 21,000
По умолчанию

статические многомерные массивы хранятся как одномерные, с пересчетом индексов.
Хорошо поставленный вопрос это уже половина ответа. | Каков вопрос, таков ответ.
Программа делает то что написал программист, а не то что он хотел.
Функции/утилиты ждут в параметрах то что им надо, а не то что вы хотите.
Пепел Феникса вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
невозможно преобразовать 'const char' в 'char triest Помощь студентам 1 10.12.2011 13:41
'unsigned char [512]' в 'const char *' frommars Visual C++ 8 02.07.2011 13:37
Проблема с программой. Нельзя преобразовать тип set of char к char Lasso Помощь студентам 5 07.06.2011 12:03
Ошибка cannot convert from 'char *' to 'char [100]' Stellvertreter Общие вопросы C/C++ 5 30.05.2010 00:02
Есть таблица - В ней три поля int, char, char нужно чтобы данные заносились в таблицу Mysql Muahahaha PHP 8 27.03.2008 11:17