关注+星标公众号,不错过精彩内容!
1、K&R C
(资料图片仅供参考)
1978年,Brian Kernighan和Dennis Ritchie出版了第一版《The C Programming Language book》,被称为“K&R”,多年来一直作为该语言的非正式规范。这个版本的C通常被描述为K&R C。K&RC和后面描述的C语言有些不同。
比如
1)对形参的详细描述在函数声明的后面,目前没什么人用了。
2)在早期版本的 C 中,没有返回类型的函数将int作为默认返回类型。即使在今天的编译器中,“int”如果没有在原型和定义中声明会出现编译警告。
2、ANSI C、C89、C90
美国国家标准协会(ANSI)组成了一个委员会在1989年完成,这个版本的C语言经常被称作ANSI C。因为这个标准是1989年完成,有时候也称作C89。
1990年,ANSI C被国际标准化组织ISO采纳了,成了国际化标准,ISO/IEC 9899: 1990。ISO标准有很多种,9899代表C语言,1990代表标准发布年限。此版本有时候也称作ISO C。实际上ANSI C、C89、C90、ISO C可以理解为一种标准。
3、C99
1990年之后的几年里,C语言的标准化委员会又不断地对C语言进行改进,1999 年,正式发布了 ISO/IEC 9899: 1999,简称为 C99 标准。C99 标准引入了许多特性,包括内联函数(inline function)、可变长度的数组对IEEE754浮点数的改进、支持不定参数个数的宏定义,在数据类型上还增加了 long long int 以及复数类型。
4、C11
2007年,C语言标准委员会又重新开始修订C语言,到了2011年正式发布了 ISO/IEC 9899:2011,简称为 C11 标准。C11标准新引入的特征,尽管没 C99 相对C90引入的那么多,但是这些也都十分有用,比如:字节对齐说明符、泛型机制、对多线程的支持、静态断言、原子操作以及对Unicode的支持。
5、总结
这些规范都写的很详细,很复杂。如果不是研究C语言编译器,没必要去深究各个版本的区别,作为C语言编程工程师大致了解一下即可。许多知名的编译器都没有完全实现这些标准,但这不妨碍我们使用C语言编程。
关键词:
-
c语言标准——ANSIC、C90、C99、C112023-04-06
-
【天天播资讯】河南省2023年上半年自考什么时候开始2023-04-06
-
环球报道:2023年内蒙古风电装备产品优选推荐名录公布!多家名优风电产品在列!2023-04-06
-
扩大消费应提升金融服务质量2023-04-06



