WikiSort.ru - Не сортированное

ПОИСК ПО САЙТУ | о проекте

free (с англ.«освобождение») — функция стандартной библиотеки языка Си, предназначенная для освобождения ранее выделенной динамической памяти.

Описание функции

#include <stdlib.h>

void free (void *ptr);

Назначение

Функция принимает указатель на область, подлежащую освобождению, или NULL. Возвращаемого значения не имеет. free() не проверяет указатель на правильность, и может «освободить» невыделенную область памяти, что в некоторых реализациях может привести к необратимому повреждению кучи (англ. heap). Вызов функции с NULL безопасен (проверка на NULL обязана выполняться внутри free() согласно стандарту). Для избежания повреждения кучи некоторые руководства по языку Си рекомендуют обнулять каждый освобождаемый указатель.

Область памяти, освобождённая после вызова free() может быть выделена снова, однако частый вызов malloc и free() может привести к фрагментации кучи и невозможности выделить области памяти большого объёма.

Функция объявлена в заголовочных файлах malloc.h, stdlib.h. Точное описание поведения функции приводится в стандарте ANSI C, на него же ссылается описание в стандарте POSIX.

Аргументы функции

  • ptr — указатель на область памяти, предварительно выделенную malloc, calloc, realloc функциями либо NULL.

Пример использования

pointer = malloc(number_of_elements * sizeof(*pointer));

/* … проверка успешности выделения памяти, использование блока памяти … */

free(pointer);
pointer = NULL;

См. также

Ссылки

Данная страница на сайте WikiSort.ru содержит текст со страницы сайта "Википедия".

Если Вы хотите её отредактировать, то можете сделать это на странице редактирования в Википедии.

Если сделанные Вами правки не будут кем-нибудь удалены, то через несколько дней они появятся на сайте WikiSort.ru .




Текст в блоке "Читать" взят с сайта "Википедия" и доступен по лицензии Creative Commons Attribution-ShareAlike; в отдельных случаях могут действовать дополнительные условия.

Другой контент может иметь иную лицензию. Перед использованием материалов сайта WikiSort.ru внимательно изучите правила лицензирования конкретных элементов наполнения сайта.

2019-2024
WikiSort.ru - проект по пересортировке и дополнению контента Википедии