08 2012 档案

《C陷阱与缺陷》——总结
摘要:本文主要总结自己看完《C陷阱与缺陷》这本书后的感想。 阅读全文

posted @ 2012-08-18 11:26 asfion 阅读(1081) 评论(0) 推荐(1)

C语言宏
摘要:本文主要讲解《C陷阱与缺陷》第六章中宏的使用。 预处理器工作有: (1) 文件包含:可以把源程序中的#include 扩展为文件正文,即把包含的.h文件找到并展开到#include 所在处。 (2) 条件编译:预处理器根据#if和#ifdef等编译命令及其后的条件,将源程序中的某部分包含进来或排除在外。 (3) 宏展开:预处理器将源程序文件中出现的对宏的引用展开成相应的宏定义。 预处理中宏的作用: (1)方便程序的修正:将某个特定数量在程序中出现的所有实例统统加以修改; (2)提高程序的运行效率:C语言在实现函数调用时会带来重大系统开销,宏可以实现一种这样的程序块:它看上去像函数,但却没有函数调用的开销。 阅读全文

posted @ 2012-08-18 11:15 asfion 阅读(2264) 评论(0) 推荐(3)

《C陷阱与缺陷》——第三章小结
摘要:本文主要记录《C陷阱与缺陷》第三章中的一些知识。 阅读全文

posted @ 2012-08-15 19:00 asfion 阅读(469) 评论(0) 推荐(1)

函数指针与函数声明
摘要:问题:当计算机启动时,硬件将调用首地址为0的子例程,为了模拟开机启动时的情形,如何设计出一个C语句,以显示调用该子例程。 换个问法:有一段程序存储在起始地址为 0的一段内存上,如果我们想要调用这段程序,请问该如何去做? 《C陷阱与缺陷》给出答案:(*(void(*)())0)(); 阅读全文

posted @ 2012-08-15 15:29 asfion 阅读(2914) 评论(0) 推荐(1)

词法分析——运算符的解析
摘要:这篇文章主要讲的是《C陷阱与缺陷》中第一章习题1-3与1-4。 习题1-3:为什么n-->0的含义是n-- > 0,而不是n- -> 0 ? 习题1-4:a+++++b的含义是什么? 阅读全文

posted @ 2012-08-13 21:27 asfion 阅读(2146) 评论(7) 推荐(3)

C编译器的注释嵌套
摘要:本博客详细解释:《C陷阱与缺陷》课后习题1-1,题目: 某些C编译器允许嵌套注释。请写一个测试程序,要求:无论是对允许嵌套注释的编译器,还是对不允许嵌套注释的编译器,该程序都能正常通过编译,但是这两种情况下程序执行的结果却不同。 阅读全文

posted @ 2012-08-13 18:07 asfion 阅读(2766) 评论(0) 推荐(3)

导航