13-语言标准
1.6 语言标准
目前,有许多C实现可用。在理想情况下,编写C程序时,假设该程序中未使用机器特定的编程技术,那么它的运行情况在任何实现中都应该相同。要在实践中做到这一点,不同的实现要遵循同一个标准。
C语言发展之初,并没有所谓的C标准。1978年,布莱恩·柯林汉(Brian Kernighan)和丹尼斯·里奇(Dennis Ritchie)合著的The C Programming Language(《C语言程序设计》)第1版是公认的C标准,通常称之为K&R C或经典C。特别是,该书中的附录中的“C语言参考手册”已成为实现C的指导标准。例如,编译器都声称提供完整的K&R实现。虽然这本书中的附录定义了C语言,但却没有定义C库。与大多数语言不同的是,C语言比其他语言更依赖库,因此需要一个标准库。实际上,由于缺乏官方标准,UNIX实现提供的库已成为了标准库。