欢迎来到kaffeel的博客

点滴积累,快乐分享-kaffeel.org
  首页  :: 新随笔  :: 订阅 订阅  :: 管理

什么是ANSI C,为什么学习C语言要以它为标准?

Posted on 2013-05-15 10:35  kaffeel  阅读(373)  评论(0编辑  收藏  举报

C语言起源于1969年Ken Thompson开发的B语言,后来D.M.Ritchie于1971年在B语言的基础上开发了NEW B语言,也就是我们现在说的C语言。最初,C语言的主要客户是编译器设计者,这也就是为什么“数组是从0开始而不是从1开始的原因”(其实还有许多为编译器设计者设计的特性)。1973年Ken Thompson和D.M.Ritchie将UNIX用C语言重写(原来是用汇编语言实现的),UNIX第5版诞生,从此UNIX就和C语言成了孪生兄弟。
不久,C语言越来越受欢迎。1978年Brian W.Kernighan和D.M.Ritchie以Steve Johnson编写的PCC这个C语言编译器(后来这个编译器被广泛移植)为基础,编著了《The C Programming Language》(简称TCPL),人们把这个C语言版本成为K&R C。

20世纪80年代,C语言广泛流行,动摇了BASIC的地位。许多人为其写变种,各种C版本涌出。因为C语言没有一个统一的标准,导致了它的代码无法在各种编译器上实现,C语言受到了变种松散的威胁——因此C语言必须进行标准化,1983年美国国家标准化组织(ANSI)成立了C语言工作小组,开始对C进行标准化,1989年12月ANSI C最终被ANSI委员会接纳(我们学习C语言应该学习标准化后的C语言版本)。1990年国际标准化组织(ISO)也接纳了ANSI C,并做了一些小的修改,也就形成了ISO C。1990年初,ANSI委员会重新接纳了ISO C。
因此ANSI C(ISO C)是C语言进行标准化后的产物,现在所有的编译器都应该符合ANSI C(ISO C)标准,我们学习的C语言应该也是ANSI C(ISO C)。



文章来源:http://kaffeel.org/2013/05/15/%e4%bb%80%e4%b9%88%e6%98%afansi-c%ef%bc%8c%e4%b8%ba%e4%bb%80%e4%b9%88%e5%ad%a6%e4%b9%a0c%e8%af%ad%e8%a8%80%e8%a6%81%e4%bb%a5%e5%ae%83%e4%b8%ba%e6%a0%87%e5%87%86%ef%bc%9f/