Добавил:
Upload Опубликованный материал нарушает ваши авторские права? Сообщите нам.
Вуз: Предмет: Файл:
TCLR-3Ar.doc
Скачиваний:
17
Добавлен:
12.07.2019
Размер:
664.58 Кб
Скачать

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<stdio.h>

#include<alloc.h>

#define NUM_PTRS 10

#define NUM_BYTES 16

int main(void)

{

struct heapinfo hi;

char *array[NUM_PTRS];

int i;

for(i=0; i<NUM_PTRS; i++)

array[i] = malloc(NUM_BYTES);

for(i=0; i<NUM_PTRS; i+=2)

free(array[i]);

hi.ptr = NULL;

printf(" Размер Статус \n");

printf(" ------ ------ \n");

while(heapwalk(&hi) == _HEAROK)

-241-

printf(" %7u %s\n",fi.size,hi.in_use ? "используется" :

"не используется");

return 0;

}

highvideo

Функция Устанавливает бит интенсивности.

Синтаксис #include<conio.h>

Void highvideo(void);

Файл, содержащий conio.h

прототип

Описание highvideo устанавливает, что далее будут выводится

символы с высокой интенсивностью. Она делает это,

устанавливая бит интенсивности в текущем цвете.

Эта функция не влияет на текущее содержимое экра-

на, а лишь работу функций, осуществляющих прямой

вывод на экран в текстовом режиме (типа cprintf).

Возвращаемое Нет.

значение

Переносимость highvideo работает только на машинах, совместимых с

IBM PC. Аналогичная функция есть в Turbo Pascal.

Смотрите также cprintf, cputs, gettextinfo, lowvideo, normvideo,

textattr, textcolor.

Пример:

#include<conio.h>

int main(void)

{

lowvideo();

cprintf("Текст низкой интенсивности");

highvideo();

gotoxy(1,2);

cprintf("Текст высокой интенсивности");

return 0;

}

hypot

Функция Вычисляет гипотенузу прямоугольного треугольника.

Синтаксис #include<math.h>

double hypot(double x, double y);

Файл, содержащий math.h

прототип

Описание Функция hypot вычисляет значение z, где

z^2 = x^2 + y^2

и z >= 0

-242-

(это - эквивалент длины гипотенузы прямоугольного

треугольника, если длины двух его сторон x и y).

Возвращаемое При успешном завершении, функция hypot возвращает

значение число z- двойной точности. При ошибке (такой,

например, как переполнение), функция hypot прис-

ваивает глобальной переменной errno значение:

ERANGE - Результат превышает допустимое значение.

и сама возвращает значение HUGE_VAL.

Обработка ошибок для функции hypot может быть мо-

дифицирована посредством функции matherr.

Переносимость Функция поддерживается на системах UNIX.

Пример:

#include<stdio.h>

#include<math.h>

int main(void)

{

double result;

double x = 3.0;

double y = 4.0;

result = hypot(x,y);

printf("Гипотенуза = %lf\n",result);

return 0;

}

imag

Функция Возвращает мнимую часть комплексного числа.

Синтаксис #include<complex.h>

double imag(complex x);

Файл, содержащий complex.h

прототип

Описание Комплексное число состоит из двух чисел с плаваю-

щей точкой. imag возвращает одно из них, мнимую

часть.

Возвращаемое Мнимая часть комплексного числа.

значение

Переносимость Комплексные функции требуют С++ и поэтому непере-

носимы.

Смотри также complex, conj, real.

Пример:

#include<stream.h>

#include<complex.h>

Соседние файлы в предмете [НЕСОРТИРОВАННОЕ]