C高级篇(穿越时空的迷雾)

     C的产生源于一个失败的项目,由通用电气公司、麻省理工学院与贝尔实验室联合创立的一个庞大的项目——Multics工程。虽然开发小组最终勉强的让Mulitics动了起来,但是他们还是陷入了泥淖,心灰意冷的贝尔实验室专家们撤离该工程后,去寻找其他任务。其中一位名叫Ken Thompson的研究人员对另一个操作系统很感兴趣,他为此好几次向贝尔管理层提议,但均遭否决。Thompson加紧工作,为PDP-7编写了一个简易的新型操作系统。它比Mulitics简单得多,也轻便得多。整个系统都是用汇编语言编写的,Brian Kernighan在1970年给它取名为UNIX,自嘲地总结了从Mulitics中获得的那些不该做的教训。Ritchie和Thompson在1970~1973年间共同开发出了C编程语言。(仅作了解
    C编程语言是由BCPL语言发源而来,BCPL语言经过不断的发展最终发展出了C语言。实际上B语言的前身还有A语言,取名于第一名女程序员的名字——Ada。(仅作了解)
    在编译器中,效率几乎就是一切。(编译器设计者的金科玉律)当然还有许多东西,例如说定义有意义的错误信息。编译器的效率包括两个方面:运行效率和编译效率。有许多编译优化措施会延长编译时间,却能缩短运行时间,也有些是即能缩短编译时间,又能缩短运行时间。我们重点不研究编译器,但是我们在开发的时候要考虑好自己的优化措施。
    在C语言中,绝大多数库函数或辅助程序都需要显示调用,而在其他的一些语言中,是编译器植入一些代码隐式调用运行。
    1978年C语言正式被发表,K&R也出了很有名的一本书《
The C Programming Language》,这本书被 C语言开发者们称为"K&R",很多年来被当作 C语言的非正式的标准说明。人们称这个版本的 C语言为"K&R C"。
     到后来也出现了一些的C语言版本,例如说ANSI C。不同的C语言标准产生不同的C语言版本,不同的编译器采用不同的C语言标准,所以我们在使用C开发程序的时候,得留一个心眼了解一下编译器,我们要保证程序代码的可移植性,如将程序代码放到其他编译器下编译连接运行会不会产生一些错误。
     当你了解K&R C,也就了解ANSI C的90%,这两个版本之间的区别主要有三个。其实本来有四个的,最后一个我省略了,因为它在现实中几乎不可能碰到。
    1.把形参的类型作为函数声明的一部分;
    2.增加了一些新的关键字;
    3.“安静的改变”——原先的有些语言特性仍然合法,但它的意思有了一些轻微的改变;
    进阶高级的C语言,有时间有必要阅读一下ANSI C标准文档,这可能会解决许多长时期令你头痛的问题。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值