Справочник по функциям С++. Подпрограммы классификации Подпрограммы преобразования
Скачать 3.41 Mb.
|
cabs---------------------------------------------------------------- Назначение Вычисление абсолютного значения комплексного аргумента. Синтаксис #include double cabs(struct complex znum); Прототип в stdlib.h Замечания cabs - макрос, вычисляющий абсолютное значение znum - комплексного числа. znum является струк- турой типа complex, которая определена в math.h как: struct complex { double x, y; }; где x - реальная часть числа, а y - мнимая. Вызов cabs эквивалентен sqrt ( znum.x*znum.x + znum.y*znum.y ) Если вы не включите math.h (или если вы включи- те его, но опишите #undef cabs), то получите функцию cabs, а не макрос. Возвращаемое cabs возвращает абсолютное значение znum, типа значение double. При переполнении cabs возвращает HUGE_VAL и устанавливает errno в ERANGE Результат вне диапазона Обработка ошибок для cabs может быть модифици- рована с помощью функции matherr. Переносимость Доступна в операционной системе UNIX. Смотри также abs, fabs, labs, matherr ---------------------------------------------------------------- calloc---------------------------------------------------------------- Назначение Выделение основной памяти. Синтаксис #include void *calloc(size_t nelem, size_t size); Прототип в stdlib.h и alloc.h Замечания Эта функция обеспечивает распределение памяти типа "куча". Память доступна для динамического размещения путем создания блоков памяти различ- ного размера. Многие структуры данных, такие, как деревья и списки, естественно, используют размещение памяти в виде "кучи". Все пространство между концом сегмента данных и вершиной программного стека в малых моделях па- мяти доступно для использования, кроме 256 байт непосредственно перед вершиной стека. Эта па- мять используется для возможности увеличения стека и, кроме того, небольшое количество памя- ти используется для нужд MS-DOS. В больших моделях памяти все пространство от программного стека до конца физической памяти является "кучей". calloc размещает блок размером nelem*size. Блок заполняется нулями. Возвращаемое Функция calloc возвращает указатель на заново значение размещенный блок. Если для размещаемого блока недостаточно памяти и size или nelem равны 0, функция возвращает NULL. Переносимость Функция calloc доступна на UNIX-cистемах, сов- местима с ANSI Си и определена Керниганом и Ритчи. Сммотри также farcalloc, free, malloc, realloc ----------------------------------------------------------------- ceil----------------------------------------------------------------- Назначение Округление значения аргумента сверху. Синтаксис #include double ceil (double x) Прототип в math.h Замечания ceil находит наименьшее целое, не меньшее, чем х. Возвращаемое Функция ceil возвращает найденные целые (типа значение double) Переносимость Доступна в системах UNIX и совместима с ANSI Си. Смотри также floor, fmod ---------------------------------------------------------------- сgets---------------------------------------------------------------- Назначение Чтение строки с консоли. Синтаксис char *cgets(char *string) Прототип в conio.h Замечания cgets читает строку символов с консоли и запо- минает строку и ее длину в области, на которую указывает string. cgets читает символы, пока не обнаружит комби- нации CR/LF или пока не будет прочитано макси- мальное количество символов. Комбинацию CR/LF cgets заменяет на \0. Перед вызовом cgets в string[0] необходимо ус- тановить максимальную длину строки. После вы- полнения cgets в string[1] содержится число действительно прочитанных символов. Прочитанные символы начинаются со string[2] и заканчиваются нулем. Таким образом, строка должна иметь длину не меньше чем string[0]+2 байт. Возвращаемое cgets возвращает &string[2] - указатель на значение строку символов, которая была прочитана. Ошибки не выдает. Переносимость Данная функция работает только на IBM PC и сов- местимых моделях при наличии соответствующих графических адаптеров. Смотри также fgets, gettch, getche, gets Пример #include #include main() { char buffer[82]; char *p; buffer[0] = 80; p = cgets(buffer); printf("\nсgets получила %d символов" " : %s\n",buffer[1],p); printf("возвращен указатель - %p,\n адрес" "buffer[2] - %p\n", p, &buffer[2]); buffer[0] = 5; p = cgets(buffer); printf("сgets получила %d символов :" "%s\n",buffer[1],p); printf("возвращен указатель - %p, адрес" " buffer[2] - %p\n", p, &buffer[2]); } Результат выполнения программы abcdfghijklm cgets получила 12 символов :"abcdfghijklm" возвращен указатель - FEF6, адрес buffer[2] - FEF6 abcd cgets получила 4 символов :"abcd" возвращен указатель - FEF6, адрес buffer[2] - FEF6 ---------------------------------------------------------------- |