| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > C/C++: Для новичков > char ** вместо *char[] |
| Автор: VLGeorgievich 15.6.2009, 22:35 | ||
А если не известна константа, которая в данном примере равна 100. Как динамически создавать по одному указателю на char в переменной strings? (вопрос конечно построен жутко, но объяснил как смог, может быть поймете |
| Автор: 586 15.6.2009, 22:39 | ||
|
| Автор: VLGeorgievich 15.6.2009, 22:43 |
| Но не обязательно строк будет 100. Их может быть как 5 так и 500. Можно ли указатели на char* создавать по одному. В этом собственно и суть моего вопроса. |
| Автор: ller 15.6.2009, 22:48 | ||||
где то так Добавлено через 2 минуты и 25 секунд т.е. нужен динамический масив?
Добавлено через 3 минуты и 28 секунд Таким образом решается куча проблем с памятью. что забудете где то, что то удалить, или наоборот удалится лишнее. |
| Автор: 586 15.6.2009, 22:52 | ||
Без проблем:
Можно... А зачем? Может нужно изменить размер массива указателей? |
| Автор: VLGeorgievich 15.6.2009, 22:54 | ||||||
| До этого места я доходил. Дальше - больше. А если в процессе выполнения программы необходимо досоздать еще 10 указателей на char*. Что то типа
это вообще неправильный код, но я думаю может он отразит суть проблемы Добавлено через 1 минуту и 6 секунд
А как это сделать. Это именно то что мне нужно. Добавлено через 4 минуты и 51 секунду А если использовать собственный класс
|
| Автор: ller 15.6.2009, 23:02 | ||
Нет, здесь значение, которое заталкиваешь |
| Автор: VLGeorgievich 15.6.2009, 23:25 | ||
Я понял надо делать так:
Если понадобиться увеличить массив то создаю новый, копирую значения, удаляю старый и досоздаю новые указатели. Грамотен ли данный код, либо фигня какая-то получилась и можно сделать много проще и лучше? Добавлено через 1 минуту и 26 секунд (хочу первый раз в жизни сделать программу по уму |
| Автор: ller 15.6.2009, 23:32 |
| Иначе динамические массивы не работают. Только выделять память можно с запасом, чтоб часто не перераспределять. |
| Автор: 586 15.6.2009, 23:36 | ||
|
| Автор: VLGeorgievich 16.6.2009, 00:22 |
| ller и 586, благодарю. |