CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник по библиотечным функциям языка Си
free - освободить память
Описание
Освобождает память по указателю p. Эта память должна быть выделена ранее с использованием функций calloc, malloc или realloc. Если p = NULL, free бездействует. Если был использован флаг компилятора строгой ANSI со- вместимости, то free возвращает void (т. е. не возвра- щает значения). Предостережение: не освобождайте данные более одного раза, не работайте с освобожденными данными.
Использование
#include <stdlib.h> int free(void *p); /* ANSI */
Возвращаемое значение
Возвращает 0 в случае успеха или -1, если испорчен механизм управления памятью или p ошибочно. Значе- ние -1 указывает на наличие серьезной ошибки в прог- рамме. free игнорирует несуразные указатели.
Пример
#include <stdio.h> #include <stdlib.h> main() { char * p: if ((p = malloc(1000))==NULL) printf("Не могу отвести память\n"); if (free(p) == -1) abort(); /* Что-то ужасно плохо */ }
Рекомендация
Смотрите также calloc, malloc, realloc.