Стандартная библиотека C или libc — это стандартная библиотека для языка программирования C , как указано в стандарте ISO C. [1] Начиная с исходного стандарта ANSI C , он был разработан одновременно со спецификацией POSIX библиотеки C , которая является его надмножеством. [2] [3] Поскольку ANSI C был принят Международной организацией по стандартизации , [4] стандартная библиотека C также называется библиотекой ISO C.
Стандартная библиотека C предоставляет макросы , определения типов и функции для таких задач, как обработка строк , математические вычисления, обработка ввода/вывода, управление памятью и некоторые другие службы операционной системы .
Интерфейс прикладного программирования (API) стандартной библиотеки C объявлен в ряде заголовочных файлов . Каждый заголовочный файл содержит одно или несколько объявлений функций, определений типов данных и макросов.
После длительного периода стабильности три новых заголовочных файла ( iso646.h
, wchar.h
, и wctype.h
) были добавлены вместе с Нормативным приложением 1 (NA1), дополнением к стандарту C, ратифицированному в 1995 году. Были добавлены еще шесть заголовочных файлов ( complex.h
, fenv.h
, inttypes.h
, stdbool.h
, stdint.h
и tgmath.h
) с C99 , редакцией стандарта C, опубликованной в 1999 г., и еще пять файлов ( stdalign.h
, stdatomic.h
, stdnoreturn.h
, threads.h
и uchar.h
) с C11 в 2011 г. Всего теперь имеется 29 заголовочных файлов:
Три заголовочных файла ( complex.h
, stdatomic.h
, и threads.h
) являются условными функциями, поддержка которых от реализации не требуется.
Стандарт POSIX добавил несколько нестандартных заголовков C для специфичных для Unix функций. Многие нашли свой путь к другим архитектурам. Примеры включают fcntl.h
и unistd.h
. Ряд других групп используют другие нестандартные заголовки — в библиотеке GNU C есть alloca.h
, а в HP OpenVMS есть va_count()
функция.