powered by simpleCommunicator - 2.0.59     © 2025 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / C++ [игнор отключен] [закрыт для гостей] / Что-то с памятью моей...
4 сообщений из 4, страница 1 из 1
Что-то с памятью моей...
    #39108993
avs63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Господа,

Помогите начинающему. Вроде и матчасть читал, но так до конца и не разобрался.
У меня есть две функции:

Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
char * func_b() {
   char *s;
   s = (char *)malloc(10000);
   // ....
   return s;
}

int func_a() {
  char *res;
  res = func_b();
  // ...
  // free(res);  ????
  return 1;
}



Вопрос в следующем: нужно ли в конце func_a явно вызывать free(res) ? Или можно обойтись без этого вызова, а память для переменной res и так будет освобождена автоматически и, следовательно, никакой утечки не произойдет.

Заранее спасибо
...
Рейтинг: 0 / 0
Что-то с памятью моей...
    #39109017
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
avs63память для переменной res и так будет освобождена автоматически и,
следовательно, никакой утечки не произойдет.
Память, занимаемая непосредственно переменной res - будет освобождена. Память, на которую
указывает значение переменной res - совсем другая история.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Что-то с памятью моей...
    #39109018
Dima T
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Автоматически в Си ничего не происходит. Если free() не вызовешь то это будет утечка памяти.
...
Рейтинг: 0 / 0
Что-то с памятью моей...
    #39109026
avs63
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Спасибо, теперь понятно.
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / C++ [игнор отключен] [закрыт для гостей] / Что-то с памятью моей...
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]