C语言标准发展历程

C语言标准发展历程

 

https://blog.csdn.net/benkaoya/article/details/9337557

 

1972年,贝尔实验室的Dennis Ritche和Ken Thompson在开发UNIX操作系统时设计了C语言,它是在B语言的基础上进行设计。C语言的设计理念为自顶向下、逐步求精、结构化、模块化。采用C语言编写的程序具有易读性、可靠性、高效性,可移植性等特性,让它迅速流行起来。C语言的发展之初并没有所谓的标准,人们在实践中注意到,相同的C程序在不同的C实现下的运行结果具有一定差异。C社区意识到需要一个更全面、更新颖、更严格的标准。这就促使了C标准的发展。下面就简单介绍一下C语言标准的发展历程。

K&R C或经典C

        1987年Brian Kernighan和Dennis Ritchie合著的The C Programming Language(《C语言程序设计》)第1版是公认的C标准,通常称之为K&R C或经典C,特别是,该书中的附录中的"C语言参考手册"已成为实现C的指导。虽然该书的附录中定义了C语言,但是却没有定义C标准库。

C89或ANSI C

        1983年,美国国家标准协会(American National Standards Institute,ANSI)组建了一个委员会(X3J11),开发了一套新的标准,该标准定义了C语言和C标准库,并于1989年正式公布。该标准又称为ANSI C或C89。

C90或ISO C

        1990年国际标准化组织(International Organization for Standardization,ISO)采用了ANSI定义的C标准,称作ISO C或C90。C89和C90是完全相同的标准,C90只对C89进行了一些格式的修改。

C95

        1995年,ISO对C90进行了扩展,并修订了一些错误。扩展例如,对多字节更好的支持、对宽字符(wchar.h)的支持、引入了_STDC_VERSION_宏等。

C99

       1999年,ISO又对之前的C标准进行了重大更新,常见更新例如,国际化的支持、变长数组、static关键字、内联函数、“//”注释。

C11

        2011年,ISO对在之前C标准的基础上,又加入了一些新特性。例如,对Unicode字符集的支持,泛型(_Generic)的支持,跨平台多线程(threads.h)的支持等。

        现在比较常用的C标准为C89/C90,C99,C11。当你使用某一特性而编译器报错时,你可以检查一下你的编译器用的哪个标准来编译C程序。例如“//”注释是在C99标准中才新引入的,如果你的编译器用的C89/C90标准来编译C程序。你的程序中使用了“//”注释,很显然编译器会报错。

想要看更详细的C标准文件,可以点击下面超链接下载:

传送门:http://download.csdn.net/download/u012219371/10184521
————————————————
版权声明:本文为CSDN博主「X+Y=Z」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接:https://blog.csdn.net/u012219371/article/details/78951972

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值