Программирование на C и C++

Онлайн справочник программиста на C и C++

heapchecknode, farheapchecknode

int heapchecknode(void *ptr)

int farheapchecknode(void far *ptr)

Прототип: 
Описание: 

Эти функ­ции не определены стандартом ANSI С и являются специфическими для Borland С++ .

Функции heapchecknode() и farheapchecknode() проверяют статус единственного узла памяти, на который указывает параметр ptr. Функция heapchecknode() проверяет ближнюю кучу, а farheapchecknode() проверяет дальнюю кучу. Обе функции возвращают одно из следующих значений:

ВеличинаЗначение
_BADNODEЗаданный узел не может быть найден
_FREEENTRYЗаданный узел является свободной памятью
_HEAPCORRUPTНайдена ошибка в куче
_HEAPEMPTYКуча пуста
_USEDENTRYЗаданный узел используется

Если любая из этих функций вызывается с указателем на узел, который уже был освобожден, то возвращается значение _BADNODE.

Пример: 
Следующий код иллюстрирует, как проверить узел в куче.
#include <stdio.h>
#include <stdlib.h>
#include <alloc.h>
int main(void)
{
char *ptr;
int status;
if((ptr = (char *) malloc (10)) == NULL)
exit(1);
status = heapchecknode(ptr);
if(status == _USEDENTRY)
printf("Node is being used.\n");
else
printf("Error in heap.\n");
free (ptr);
return 0;
}