![]() |
|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
![]() |
|
Опции темы | Поиск в этой теме |
![]() |
#1 |
Форумчанин
Регистрация: 07.06.2015
Сообщений: 164
|
![]()
Подскажите, программа состоит из 2 функций (main и fun), программа меняет значение указателя на символьный массив созданный в динамически распределяемой памяти.
Программ меняет символьный массив "abc" на "cba" ошибок нет. Вопрос в другом, нужно ли удалять указатель из кучи в функции main или fun, не произойдет ли утечка памяти, не становиться ли указатель str_f из функции fun "диким" при завершении функции fun??? При попытке удалить указатель delete str_f или delete[] str_f, при выполнении программы выходит ошибка. Код:
|
![]() |
![]() |
![]() |
#2 | |
Старожил
Регистрация: 12.01.2011
Сообщений: 19,500
|
![]() Цитата:
А ошибка потому что тут Код:
Тут strcpy надо использовать скорее всего. А еще лучше std::string раз С++. Ну и если у вас функция возвращает указатель, то очевидно нельзя освобождать эту память в этой функции. Вообще обычно в С делают не так, что функция выделяет память, записывает туда что-то и возвращает указатель, а так, что вызывающий функцию должен выделить память и передать указатель. То есть примерно так: Код:
Ушел с форума, https://www.programmersforum.rocks, alex.pantec@gmail.com, https://github.com/AlexP11223
ЛС отключены Аларом. Последний раз редактировалось Alex11223; 08.08.2015 в 02:08. |
|
![]() |
![]() |
![]() |
![]() |
||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Динамически созданный TDBLookUpComboBox | Scorpuha | БД в Delphi | 13 | 16.01.2014 19:59 |
Обработчик на динамически созданный компонент | lexo | Общие вопросы Delphi | 5 | 01.06.2013 20:27 |
выделение памяти под динамически массив | Дмитрий Ас | Помощь студентам | 0 | 22.12.2012 01:39 |
Динамически созданный tabSheet | S@fer | Общие вопросы Delphi | 7 | 08.04.2009 12:03 |