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



Преобразование формата целочисленных типов:

inttypes.h (С99)

В заголовочном файле inttypes.h определено несколько макросов, которые могут использоваться в качестве спецификаторов формата для расширенных целочисленных типов. Более подробно это обсуждается в разделе VI приложения. В данном заголовочном файле также объявлен следующий тип:

imaxdiv_t

Этот тип представляет собой структуру, представляющую возвращаемое значение функции idivmax().


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

В inttypes.h также включен заголовочный файл stdint.h и объявлено несколько функций, которые работают с наиболее широким целочисленным типом, объявленным в stdint.h как intmax. Функции перечислены в табл. B.V. 10.

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


Альтернативное написание: iso646.h

Заголовочный файл iso646.h предоставляет 11 макросов, которые расширяются в указанные операции (табл. B.V.ll).

Таблица 6.V.11. Альтернативное написание


Локализация: locale.h

Локальная установка (или локаль) — это группа настроек, которые управляют такими элементами, как символ, используемый для представления десятичной точки. Локальные установки сохраняются в структуре типа struct lconv, которая определена в заголовочном файле locale.h. Локальная установка может быть задана строкой, которая указывает определенный набор значений для членов структуры. Стандартная локальная установка обозначается строкой "С". В табл. B.V.ll перечислены функции локализации с кратким описанием каждой из них.


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

Таблица 6.V.12. Функции локализации


Возможными значениями параметра locale при вызове setlocaleO могут быть "С", что принято по умолчанию, и что представляет собственную среду, определенную реализацией. Реализация может определять дополнительные локальные установки. Возможные значения параметра category при вызове setlocale() представлены макросами, которые перечислены в табл. B.V.13.

Таблица 6.V.13. Макросы категорий



В табл. B.V14 перечислены обязательные члены структуры struct lconv. Таблица 6.V.14. Обязательные члены структуры struct lconv










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

Математическая библиотека: math.h

В стандарте С99 внутри заголовочного файла math.h определены два типа:

float_t double_t

Эти типы по ширине, но меньшей мере, соответствуют типам float и double, a double t — по меньшей мере, типу float_t. Они предназначены для того, чтобы служить типами, обеспечивающими наиболее эффективные вычисления с данными

float и double.

В math.h также определено несколько макросов, которые описаны в табл. Б.У15; все они кроме HUGE_VAL добавлены стандартом С99. Некоторые из них более подробно обсуждаются в разделе VIII приложения.

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



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

Окончание табл. Б. У. /5


Математические функции обычно работают со значениями типа double. В стандарте С99 были добавлены версии float и long double этих функций, что отмечается дополнением их имен соответственно суффиксами f и 1. Например, теперь доступны следующие прототипы:

double sin(double);

float sinf(float);

long double sinl(long double);