мета-данные страницы
  •  

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слеваПредыдущая версия
Следующая версия
Предыдущая версия
c:c_ultimate_guide:stdlib.h [2025/10/29 15:18] radi0devc:c_ultimate_guide:stdlib.h [2025/11/09 12:07] (текущий) – внешнее изменение A User Not Logged in
Строка 122: Строка 122:
 } }
 </code> </code>
 +
 +==== free ====
 +
 +Имеет прототип: ''void *free(void *bl);''
 +
 +Освобождает ранее выделенный блок памяти, на начало которого указывает указатель bl.
 +
 +Расмотрим, когда нужно освобождать память:
 +  * Указатель определен в блоке кода. В этом случае указатель будет доступен только в пределах данного блока кода. Соответственно память необходимо освобождать при выходе из этого блока.
 +  * Указатель определен как статический объект. В этом случае динамическая память выделяется один раз и доступна через указатель при каждом повторном входе блок. В этом случае память нужно освобождать только после завершения ее использования.
 +  * Указатель является глобальным объектом по отношению к блоку. В этом случае динамическая память доступна во всех блоках, где доступен указатель, а память нужно освобождать только после завершения ее использования.
 +