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))); }