此时的 C 语言还没有标准化,来自“C Programming Language, First Edition, by Brian W. Kernighan, Dennis M. Ritchie. Prentice Hall PTR 1978”的 C 描述可算作“正式”的标准,所以此时的 C 也称为“K&R” C。
期间 C 语言一直不断的发生细微的变化,各编译器厂商也有自己的扩展,这个过程一直持续到20世纪80年代末。
C89
考虑到标准化的重要,ANSI(American National Standards Institute)制定了第一个 C 标准,在1989年被正式采用(American National Standard X3.159-1989),故称为 C89,也称为 ANSI C。
该标准随后被 ISO 采纳,成为国际标准(ISO/IEC 9899:1990)。
C89 的主要改动:
定义了 C 标准库;
新的预处理命令和特性;
函数原型(prototype);
新关键字:const、volatile、signed;
宽字符、宽字符串和多字节字符;
转化规则、声明(declaration)、类型检查的改变。
C95
这是对 C89 的一个修订和扩充,称为“C89 with Amendment 1”或 C95,严格说来并不是一个真正的标准。
C95 的主要改动:
3个新标准头文件:iso646.h、wctype.h、wchar.h;
一些新的标记(token)和宏(macro);
一些新的 printf/scanf 系列函数的格式符;
增加了大量的宽字符和多字节字符函数、常数和类型。
C99
1999年,在做了一些必要的修正和完善后,ISO 发布了新的 C 语言标准,命名为 ISO/IEC 9899:1999,简称“C99”。