C实现:C实现即对C语言的实现。C语言被创造后并非只有官方或创造者的一套程序才能实现对C语言的编写、测试、运行等,事实上这一套程序可以被除官方或创造者外的人开发出来,这一套实现了对C语言的编写、测试、运行等的程序就是“C实现”。
重点:C实现常常误称为“编译器”(这个“编译器”并非指将一种语言转换为另一种语言的编译器,而是指VS等开发工具),遇到时需根据语境理解。
C标准:目前,有很多C实现可用。在理想情况下,编写C程序时,假设该程序中未使用机器特定的编程技术,那么它的运行情况在任何实现中都应该相同。要在实践中做到这一点,不同的实现要遵循同一个标准。
C语言发展之初,并没有所谓的C标准。1987年,Brian Kernighan和Dennis Ritchie合著的《The C Programming Language》(《C语言程序设计》)第一版是公认的C标准,通常称之为K&R C 或者经典C。虽然这本书中的附录定义了C语言,但却没有定义C库。与大多数语言不同的是,C语言比其他语言更依赖库,因此需要一个标准库。实际上,由于缺乏官方标准,UNIX实现提供的库已成为了标准库。后来,美国国家标准协会(ANSI)于1983年组建了一个委员会(X3J11),推出且不断更新标准:C89、C99、C11等。(摘自《C primer plus》)