C语言程序设计案例式教程(第2版)
上QQ阅读APP看书,第一时间看更新

1.1.2 C语言的标准

C 语言有多个版本,不同版本的 C 语言各有差异,为了让 C 语言健康地发展,美国国家标准协会(American National Standards Institute, ANSI)成立了由硬件厂商、软件设计师、编译器设计师等组成的标准C委员会,建立了通用的C语言标准。第一版C语言标准在1989年颁布,称为C89或C90。从1989年至今,陆续出现了多个C语言标准,具体介绍如下。

(1)C89(C90)标准

1989年,美国国家标准协会通过了C语言标准ANSI X3.159-1989,简称C89,人们习惯称之为ANSI C。1990年,国际标准化组织(International Organization for Standardization, ISO)接受并采纳C89作为国际标准ISO/IEC 9899:1990,该标准被称为ISO C,简称C90。由于C90采用的是C89,因此C89和C90指的是同一个标准。

(2)C99标准

1999年,国际标准化组织和国际电工委员会(International Electrotechnical Commission, IEC)正式发布了ISO/IEC 9899:1999,简称C99。C99引入了许多新特性,例如内联函数、变量声明可以不放在函数开头、支持变长数组、允许初始化结构体对特定的元素赋值等。本书的内容将基于C99标准进行讲解。

(3)C11标准

2011年,国际标准化组织和国际电工委员会正式发布 C 语言标准第三版草案 N1570,称为 ISO/IEC 9899:2011,简称C11。C11增强了C语言对C++的兼容性,并增加了一些新的特性,这些新特性包括泛型宏、多线程、静态断言、原子操作等。