博客首页 注册 建议与交流 排行榜 加入友情链接         宝宝相册的专门空间
推荐 投诉 搜索: 帮助

aobai

给自己立法三章: 一:决不抄袭 二:向一个优秀的网络,linux专家看齐 三:做事要专心,要脚踏实地,step by stey PS:本blog完全是为了自己学习所用,如果转载文章有不妥的地方,请指出,一定改正。
aobai.cublog.cn


读书笔记《c 专家编程》1
   以前曾经看过,但是没有太仔细的看,昨天又看了一下,的确是经典。
   第一章 : 
   c :穿越时空的迷雾


        介绍了c的来源,以及ansi c 和 k&R c之间的区别和联系,还有就是在平时生活中我们遇见的两者之间的具体的列子,还有就是编译器的不同实现。
       最重要的 区别:原型的形成
       原型的目的是当我们对函数作前向声明(forward declaration)时,在形参中增加一些信息(而不仅是函数的返回值的类型和函数名),这样,编译器就能够在编译的时候对函数调用中的实参和形参之间进行一致性检查。而在K&R 中,这个是要被推迟到链接的时候才检查的,或者干脆不作检查
       每个实参都应该有自己的类型,这样它的值就可以赋值给与他所对应的形参类型的对象(该对象的类型不能够含有限定符)    
举例:.........(p 19)
实参char **s 与形参const char ** p 是否是相容的?(根据原型的相关原理)

const 的最有用之出在于用他来限定函数的形参,这样函数就不能够修改实参指针所指的值,但是其他函数却能够修改他,这也许就是c 和c++ 中const 最一般的用法。

const 和 * 的组合是最通常的用法,用于在数组形式的参数中模拟传值调用。它声称“我给你一个指向它的指针,但是你不能够修改它。”如此种种,结论:如果当初const 关键字命名为readonly 就好办多了。

小启发:
     对无符号类型的建议(p24)
 
     

发表于: 2008-05-08 ,修改于: 2008-05-08 21:46,已浏览133次,有评论1条 推荐 投诉


网友评论
内容:
对于无符号类型的建议,尽量在程序中不要使用无符号类型,在使用如sizeof这样的只返回unsigned 类型的函数是,如果有必要,将它作强制类型转换。
aobai 评论于:2008-05-08 23:01:59 (125.85.90.★)

发表评论