Namespaces
Variants

C99

From cppreference.net
< c

ISO/IEC 9899:1999 , также известный как C99 , является предыдущей редакцией стандарта C.

Содержание

Новые возможности языка

Макросы проверки функций для опциональных возможностей

  • __STDC_IEC_559__
    • Указывает, что поддерживается арифметика двоичных чисел с плавающей запятой IEEE-754 и требуемые математические функции.
  • __STDC_IEC_559_COMPLEX__
    • Указывает, что поддерживается комплексная арифметика IEEE-754 и требуемые математические функции.
  • __STDC_HOSTED__
    • Указывает, что реализация является hosted .
  • __STDC_ISO_10646__
    • Указывает, что в широких литералах используется кодировка Unicode и раскрывается в последнюю поддерживаемую ревизию.
  • __STDC_MB_MIGHT_NEQ_WC__

Новые возможности библиотеки

Новые заголовки

Функции библиотеки

Устаревшие возможности

Удаленные возможности

  • Неявный int в объявлениях
  • Неявные объявления функций

Устаревшие возможности

Отчеты о дефектах

Template:c/language/history/DR99

Поддержка компиляторами

Основные возможности языка C99

Функция C99

Документ(ы)

GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray
Универсальные символы в идентификаторах 3.1 Да Да
Увеличенные лимиты трансляции N590 0.9 N/A
// комментарии N644 2.7 Да Да
restrict указатели N448 2.95 Да частично *
Улучшенные arithmetic types N815
N601
N620
N638
N657
N694
N809
Да частично Возможно
Гибкие элементы массива 3.0 Да Да
Массивы переменной длины (VLA) типы N683 0.9 Да
Типы с изменяемой модификацией (VM) N2778 N/A Да
Назначенные инициализаторы N494 3.0 Да Да
Непостоянные инициализаторы 1.21 N/A
Идемпотентные cvr-квалификаторы N505 3.0 N/A
Запятая в конце enumerator-list 0.9 Да Да
Шестнадцатеричные floating constants N308 2.8 Да Да
Составные литералы N716 3.1 Да Да
Окружение с плавающей точкой частично частично
Требование усечения для делений знаковых целочисленных типов N617 0.9 N/A
Неявный return 0 ; в main() функции Да Да Да
Объявления и операторы в произвольном порядке N740 3.0 Да Да
init-statement в for циклах Да Да Да
inline функции N741 4.3 Да Да
Предопределённая переменная __func__ N611 2.95 Да Да
Cvr-квалификаторы и static в [ ] в объявлениях функций 3.1 Да
Вариативные макросы N707 2.95 Да Да
_Pragma оператор препроцессора N634 3.0 Да частично *
Стандартные прагмы для вычислений с плавающей точкой N631
N696
Нет Нет


Функция C99


Документ(ы)
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
Cray