C一开始的时候并没有标准I/O,而是由库函数提供,而且库函数通常都是显式调用,后来Mike Lesk开始尝试编写可移植的I/O,经过不断的优化和裁剪,后来成为标准I/O函数库。于此同时C预处理器加入这个行列中。
C预处理器主要实现3个功能:
1、字符串替换;#define
2、头文件包含;#include ;
3、通用代码模板的扩张。比如
#define a(y) a_expanded(y)
a(x) 被扩展为:a_expanded(x);
而使用#define a (y) a_expanded(y)
a(x)被扩展为:(y) a_expanded(y)(x)
宏最好只用于命名常量,并为一些适当的结构提供简捷的记法。另外宏最好都是大写,因为这样很容易和函数调用区分开来。
C 语言的发展和编译器的更迭有很大的关系,每一次编译器的更新都是C语言的进步。
1978年著名的经典书籍《The C programming Language》出版。
1989年C语言标准最终被ANSI委员会接纳,但是将Rationale排除在外,作为独立的标准文档。
C标准的官方名称是:ISO/IEC 9899:1990.