C99

来自cppreference.com
< c


ISO/IEC 9899:1999,又称 C99,是先前的 C 标准版本。

过时

已移除

  • 声明中的隐式 int
  • 隐式函数声明

已摒弃

新的语言功能特性

针对可选功能特性的功能特性测试宏

新的库功能特性

新的头文件

程序库功能特性

缺陷报告

Template:c/language/history/DR99

编译器支持

C99 核心语言特性

C99 功能特性

 
提案

 
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XL C++
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc
标识符中的通用字符名 不适用 3.1 是 是
提高翻译极限 N590 0.9 不适用
// 注释 N644 2.7 是 是
restrict 指针 N448 2.95 是 部分*
增强算术类型 N815
N601
N620
N638
N657
N694
N809
是 部分 可能
灵活的数组成员 不适用 3.0 是 是
变长数组 (VLA) 类型 N683 0.9 是
可变修改 (VM) 类型 N2778 不适用 是
定名初始化式 N494 3.0 是 是
非常量初始化式 不适用 1.21 不适用
幂等 cvr 限定符 N505 3.0 不适用
enumerator-list 中的尾部逗号 不适用 0.9 是 是
十六进制浮点常量 N308 2.8 是 是
复合字面量 N716 3.1 是 是
浮点环境 不适用 部分 部分
规定有符号整数类型的除法进行截断 N617 0.9 不适用
main() 函数中的隐式 return 0; 不适用 是 是 是
混合安排声明和语句 N740 3.0 是 是
for 循环中的 初始化语句 不适用 是 是 是
inline 函数 N741 4.3 是 是
预定义变量 __func__ N611 2.95 是 是
函数声明中的 [] 之中的 cvr 限定符和 static 不适用 3.1 是
变参宏 N707 2.95 是 是
_Pragma 预处理器运算符 N634 3.0 是 部分*
浮点求值的标准语用(pragma) N631
N696
否 否 是
 

C99 功能特性
 

提案
GCC
Clang
MSVC
Apple Clang
EDG eccp
Intel C++
IBM XL C++
IBM Open XL C++ for AIX
IBM Open XL C++ for z/OS
Sun/Oracle C++
Embarcadero C++ Builder
Cray
Nvidia HPC C++ (ex PGI)*
Nvidia nvcc