11.1什么是“ANSI C标准”?
1983 年, 美国国家标准协会(ANSI) 委任一个委员会X3J11 对C 语言进行标准化。经过长期艰苦的过程, 该委员会的工作于1989 年12 月14 日正式被批准为ANSX3.159-1989 并于1990 年春天颁布。ANSI C 主要标准化了现存的实践, 同时增加了一些来自C++ 的内容(主要是函数原型) 并支持多国字符集(包括备受争议的三字符序列)。ANSI C 标准同时规定了C 运行期库例程的标准。
一年左右以后, 该标准被接受为国际标准, ISO/IEC 9899:1990, 这个标准甚至在美国国内(在这里它被称作ANSI/ISO 9899-1990 [1992]) 代替了早先的X3.159。作为一个ISO 标准, 它会以发行技术勘误和标准附录的形式不断更新。1994年, 技术勘误1 (TC1) 修正标准中40 处地方, 多数都是小的修改或明确,而标准附录1 (NA1) 增加了大约50 页的新材料, 多数是规定国际化支持的新库函数。1995 年, TC2 增加了一些更多的小修改。最近, 该标准的一个重大修订, “C99”, 已经完成并被接受。
该标准的数个版本, 包括C99 和原始的ANSI 标准, 都包括了一个“基本原理”(Rational), 解释它的许多决定并讨论了很多细节问题, 包括本文中提及的某些内容。
一年左右以后, 该标准被接受为国际标准, ISO/IEC 9899:1990, 这个标准甚至在美国国内(在这里它被称作ANSI/ISO 9899-1990 [1992]) 代替了早先的X3.159。作为一个ISO 标准, 它会以发行技术勘误和标准附录的形式不断更新。1994年, 技术勘误1 (TC1) 修正标准中40 处地方, 多数都是小的修改或明确,而标准附录1 (NA1) 增加了大约50 页的新材料, 多数是规定国际化支持的新库函数。1995 年, TC2 增加了一些更多的小修改。最近, 该标准的一个重大修订, “C99”, 已经完成并被接受。
该标准的数个版本, 包括C99 和原始的ANSI 标准, 都包括了一个“基本原理”(Rational), 解释它的许多决定并讨论了很多细节问题, 包括本文中提及的某些内容。