CodeNet / Языки программирования / C / C++ / Linux/Unix / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
CodeNet / Языки программирования / C / C++ / Руководства и справочные материалы по C/C++ / Справочники по функциям / Справочник С/C++ для UNIX - Список функций
free
FREE
#include <maloc.h> требуется только для объявления функции.
void free(ptr);
char *ptr; указатель на захваченный блок памяти.
Описание:
Функция free освобождает блок памяти. Аргумент ptr указыва-
ет на ранее захваченный блок памяти посредством вызова calloc,
malloc, realloc. Числом освобожденных байтов является число бай-
тов, определенных при захвате блока (или перезахвате). После вы-
зова освободившийся блок доступен для захвата.
Возвращаемое значение:
Возвращаемого значения нет.
См.также calloc, malloc, realloc.
Замечание! Попытка освободить неверный ptr (указатель не
захватывается посредством вызова calloc, malloc или realloc) мо-
жет привести к следующему захвату и вызвать ошибку.
Пример.
#include <malloc.h>
#include <stdio.h>
char *alloc;
/* захватывает 100 байтов и освобождает их */
if ((alloc=malloc(100))==NULL
/* проверяет на правильность указателя */
printf("unable to allocate memory\n");
else {
.
.
.
free(alloc);
/* освобождает память для heap */
}
_FREECT
#include <malloc.h> требуется только для объявления функ-
ции.
unsigned int _freect(size);
unsigned int size; размер объекта в байтах.
Описание:
Функция _freect сообщает о количестве памяти, пригодной для
размещения динамической памяти, и возвращает приблизительное ко-
личество вызовов в программе malloc для размещения объекта задан-
ного размера в умалчиваемом сегменте данных.
Возвращаемое значение:
Функция _freect возвращает число вызовов как беззнаковое
целое.
См.также calloc, _expand, malloc, _memavl, _msize, realloc.
Пример.
main()
{
int i;
printf("Approximate # of times program can call
malloc\n");
printf("to allocate a single integer=%u\n\n",
_freect(sizeof(int)));
/* вызывает 1000 раз malloc, размещая каждый раз отдельное
целое */
for (i=0; i<1000; ++i)
malloc(sizeof(int));
printf("Approximate # of times program can call
malloc\n");
printf("to allocate a single integer=%u\n",
_freect(sizeof(int)));
}
