Поделиться через


free

Отмена выделения или свободены блока памяти.

void free( 
   void *memblock 
);

Параметры

  • memblock
    Ранее выделенный блок памяти.

Заметки

free блок памяти (освобождает функцииmemblock), который ранее выбрать вызовом calloc" mallocили realloc.Число байтов освобоженных эквивалентное числу запрошенных байтов, если блок был выбран (или, в случае reallocated realloc).If memblock существует NULLуказатель, а не учитывается free немедленно завершает работу.Попытка высвободить недопустимый указатель (указатель на блок памяти, который не был выбран by calloc" mallocили realloc) может повлиять на последующие запросы распределения и вызывать ошибки.

При возникновении ошибки в освобождение памяти; errno набор со сведениями из операционной системы на природе сбоя.Дополнительные сведения см. в разделе errno, _doserrno, _sys_errlist и _sys_nerr.

После блока памяти был освобождается, _heapmin свернуть объем свободной памяти в куче путем слияния неиспользуемые области и освобождение их обратно в операционной системе.Освобоженная освобождена память, не в операционной системе восстановлена до бесплатного пул и доступен для повторного распространения.

При связывании с отладочной версией библиотеки времени выполнения c free позволяет к _free_dbg.Дополнительные сведения об управляемой куче во время процесса отладки см. в разделах Куча отладки для CRT.

free помечает __declspec(noalias), чтобы гарантированно изменяет функция глобальные переменные.Дополнительные сведения см. в разделе noalias.

Освободить память, выделенную с _mallocaиспользование _freea.

Требования

Функция

Обязательный заголовок

free

<stdlib.h> и <malloc.h>

Дополнительные сведения о совместимости см. Совместимость во введении.

Пример

См. пример malloc.

Эквивалент в .NET Framework

Неприменимо. Для c# используйте стандартная функция PInvoke. Дополнительные сведения см. в разделе Примеры вызовов неуправляемого кода.

См. также

Ссылки

Выделение памяти

_alloca

calloc

malloc

realloc

_free_dbg

_heapmin

_freea