Функция Используется для перемещенмия по памяти от узла к
узлу.
Синтаксис #include
int heapwalk(struct heapinfo *hi);
Файл, содержащий alloc.h
прототип
Описание heapwalk подразумевает, что память не запорчена.
Для проверки, перед использованием heapwalk, вы-
зовите heapcheck. При достижении последнего бло-
ка, функция возвращает _HEAPOK. При следующем вы-
зове heapwalk, она вернет _HEAPEND.
heapwalk получает указатель на структуру типа
heapinfo (определена в файле alloc.h). При первом
вызове heapwalk установите поле hi.ptr в 0.
farheapwalk вернет вам в этом поле адрес первого
блока памяти. Поле hi.size содержит размер этого
блока в байтах. hi.in_use - это флаг, который ус-
танавливается, если этот блок используется в нас-
тоящий момент.
Возвращемое Если нет памяти, то возвращается значение
значение _HEAPEMPTY (1).
Если hiapinfo содержит допустимые данные, то
возвращается _HEAPOK (2).
Если достигнут конец памяти, то возвращается
_HEAPEND (5).
Переносимость heapwalk уникальна для DOS.
Смотрите также farheapwalk
Пример:
#include
#include
#define NUM_PTRS 10
#define NUM_BYTES 16
int main(void)
{
struct heapinfo hi;
char *array[NUM_PTRS];
int i;
for(i=0; i