×
Traktatov.net » Язык программирования C [Лекции и упражнения, 6-е изд.] » Читать онлайн
Страница 528 из 557 Настройки

Таблица 6.V.2. Макросы в complex.h


Реализация комплексных чисел в С, поддерживаемая заголовочным файлом complex.h, существенно отличается от их реализации в C++, поддерживаемой заголовочным файлом complex. Для определения типов комплексных чисел в языке C++ используются классы.

С помощью прагмы STDC CX_LIMITED_RANGE можно указать, разрешено ли применять обычные математические формулы (установка on), или же особое внимание должно уделяться предельным значениям (установка off):

#include

#pragma STDC CX_LIMITED_RANGE on


850 Приложение Б

Библиотечные функции поставляются в трех разновидностях: double, float и long double. В табл. Б.УЗ перечислены функции для версии double. В версиях float и long double к именам функций добавляются, соответственно, f и 1. То есть csinf() — это версия float функции csin(), a csinl() — версия long double той же функции. Углы измеряются в радианах.

Таблица 6.V.3. Функции для работы с комплексными числами



Справочные материалы 851

Обработка символов: ctype.h

Эти функции принимают аргументы int, которые должны иметь возможность быть представленными либо как unsigned char, либо как EOF; в случае передачи других значений поведение не определено. В табл. B.V.4 значение true используется в качестве синонима для ненулевого значения. Интерпретация некоторых определений зависит от текущих локальных установок, которые управляются функциями из заголовочного файла locale.h; таблица демонстрирует интерпретацию для локальной установки "С".

Таблица 6.V.4. Функции обработки символов


Сообщение об ошибках: errno.h

Заголовочный файл errno.h поддерживает старый механизм сообщения об ошибках. Этот механизм предоставляет ячейку во внешней статической памяти, которая доступна через идентификатор (или, возможно, макрос) ERRNO. Некоторые библиотечные функции помещают в эту ячейку значение, чтобы сообщить об ошибке. Программа, включающая заголовочный файл errno.h, может затем проверить значение ERRNO, чтобы выяснить, возникла ли конкретная ошибка. Механизм, использующий ERRNO, считается устаревшим, и математические функции больше не обязаны устанавливать значения ERRNO. В стандарте предусмотрены три значения в виде макросов, которые представляют определенные ошибки, но конкретные реализации могут предоставлять их больше. В табл. B.V.5 перечислены стандартные макросы.


852 Приложение Б

Таблица 6.V.5. Макросы в errno.h


Среда плавающей запятой: fenv.h (С99)

Стандарт С99 предоставляет доступ и возможность управления средой плавающей запятой через заголовочный файл fenv.h.

Среда плавающей запятой состоит из набора флагов состояния и режимов управления. Исключительные ситуации, возникающие во время вычислений с плавающей занятой, такие как деление на ноль, могут “генерировать исключение”. Это означает, что событие устанавливает один из флагов среды плавающей запятой. Значение режима управления может управлять, например, направлением округления. В заголовочном файле fenv.h определен набор макросов, представляющих несколько исключений и режимов управления, а также прототипы функций, которые взаимодействуют со средой. Заголовок также предоставляет прагму для включения или отключения дос тупа к среде плавающей запятой.