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.
