计算机微刊

2020-04-14 C标准

2020-04-14  本文已影响0人  owlister

C 语言自出现至今,出现了好几个标准,不同的标准对 C 的编程会稍有影响。 

另外,C 的编译器有很多种,使用方法各不相同。

·1972  贝尔实验室

Dennis Ritchie在B语言的基础上修改并发展成了C语言。


一直到 20 世纪 70 年代后期,C 语言都只是“传统的 C 语言”,没有一个统一的 标准,直到 1978 年 Kernighan 和 Ritchie 合著了《C Programming Language》一书, 人们才算有了一个事实上的标准,称为标准 C 或经典 C。 

C89

C 语言在不同硬件平台上的发展,导致了很多看似相同实则不兼容的情况。为 了解决这些问题,美国国家标准委员会(ANSI)在 1983 年制订了一个新的 C 语言 标准,并在 1989 年得到批准。很长时间以来这个标准被称作 ANSI C,现在叫作 C89, 这也是目前大多 C 编译器都遵循的标准。 

C99

C99 标准是 1999 年从 C89 标准修订而来的,主要做了如下改进: 

(1)支持用“//”符号进行单行注释;

 (2)变量定义可以在程序块的任何位置(不必在所有非定义语句的前面,甚至 可以出现在 for 语句的初始化从句中,如 for(int i =1; i<10 ; i++); 

(3)支持只能拥有 0 或 1 值的布尔类型; (4)函数必须显式地声明返回类型(不允许采用缺省默认 int 的方式); 

(5)支持可变长数组(程序运行时才确定数组的大小); 

(6)在内存某区域对指针进行互斥的访问限制; 

(7)支持内联函数;

 (8)对返回类型不是 void 的函数必须用 return 返回一个值(表达式),返回类 型是 void 的函数 return 后面不能出现任何值(表达式); 

(9)支持复数及运算; 

(10)用 snprintf 函数打印内存中字符串时,可防止缓冲区溢出;

 C99 目前尚未被广泛采用,完全支持 C99 的编译器不多。 

上一篇 下一篇

猜你喜欢

热点阅读