ANSI、C99、C11 标准区别详解

一、ANSI C 标准

美国国家标准协会(ANSI)为创立 C 语言的一套标准,于 1989 年完成,因此常被称为 C89。

在 KEIL 中使用的是 ANSIC C 标准(C89 标准),定义变量一定要放在语句块开头,在 KEIL 中也可以选择 C99 标准。

ANSI、C99、C11 标准区别详解
二、C99 标准

C99 标准是在 ANSI 标准基础上新增了一些特性,如:

(1)支持不定长的数组,即数组长度可以在运行时决定。
(2)变量声明不必放在语句块的开头,支持任意地方定义变量。
(3)for 语句提倡写成 for(int i=0;i<100;i++) 形式,即 i 只在 for 语句块内部有效。

三、C11 标准

C11 标准是 C 语言标准的第三版,于 2011 年发布。相比于 C99 标准,它的部分变化如下:
ANSI、C99、C11 标准区别详解