ISO/IEC 9899: 1999 — Programming languages — C
Официальный международный стандарт языка программирования C, известный как C99. Документ определяет синтаксис, семантику и требования к реализациям языка C, заменяя предыдущую редакцию ISO/IEC 9899:1990.
Стандарт описывает окружение трансляции и выполнения программ, концептуальные модели компилятора и среды исполнения, наборы символов, сигналы и ограничения окружения. Раздел «Language» детально специфицирует лексические элементы, типы, преобразования, выражения, объявления, операторы и внешние определения.
Значительная часть документа посвящена препроцессору: условному включению, включению исходных файлов, макроподстановке, управляющим директивам и прагмам. Также стандарт определяет библиотеку языка C, заголовочные файлы и функции, входящие в стандартную библиотеку.
C99 ввёл ряд новшеств: тип long long, комплексные числа, массивы переменной длины, designated initializers, inline-функции, комментарии в стиле // и расширенные целочисленные типы. Документ служит нормативной основой для разработчиков компиляторов, авторов учебников и инженеров, которым требуется точная спецификация поведения языка.
Издание предназначено для специалистов по системному программированию, разработчиков компиляторов и всех, кто работает с языком C на уровне, требующем обращения к первоисточнику.
