试读《征服C指针》

试读《征服C指针》

 

说起学习C语言,我想大家都阅读过清华大学出版社出版的谭浩强版的《C程序设计》,这本书是我的C语言启蒙。我的编程道路也是从学习C语言开始的。刚接触C语言时感觉理解起来非常费力。怎么也想不通i++++i等一系列的不是问题的问题,因为每次问老师时,老师也说不清楚,最后得到的答案却是,就是这样规定的你就这样记就行。

 

著名的计算机科学家沃思提出一个公式:

算法 数据结构 程序

 

对于一个程序来说,算法是一个程序的灵魂,数据结构是加工的对象。算法通俗的理解,就是解决问题的方法和步骤,狭义的说就是对存储在计算机中数据的操作,对于以不同的数据结构存储的数据,我们要采用不同的算法去解决问题。所以,从另一种角度来说,算法是依附于数据结构的!

 

说到数据结构就不得不提到指针!在学习C语言时就常听说,指针是C语言的灵魂。各种复杂的数据结构都是依靠指针来完成的。指针的重要性可见一斑。

 

这次试读《征服C指针》,给我带来了一些意外,因为作者在文中提到指针和数组仅仅是微妙的兼容性,其实质是不一样的(可惜试读部分没有)。我在实际应用中,对数组的理解就是,内存中的一段连续的存储单元,当我们定义一个数组时,我们得到的是这个数组第一个元素的地址。我们知道“地址就是指针”(初学指针是老师们都是怎么说的吧),所以我一直认为数组是指针的一个特殊情况。至于书中作者提出的定义一个int型指针,给指针加1,指针会前进4个字节,这个问题我初学时也想到过,而且直到现在也没有弄明白。更可惜的是试读部分也不包括这一部分!许多精华部分都只是开了个头,真是很吊胃口啊。

 

特别值得注意的是,这本书是至今还工作在一线的程序员编写的。所以书中提到的问题更加贴近实际操作,并且用便签的方式提出了一些在开发中应该注意的小细节。这对于我们这些没有开发经验的菜鸟来说很是受益。比如在提到宏定义的时候,就提出了开发时,如果定义的宏间存在依赖该如何处理的实例。

 

虽然没有完全看完这本《征服C指针》,但是通过目录可以看出,其中包含的内容是市面上那些关于C语言的书中很少见的。而且在CSDN中的首页也有对这本书的介绍,这更增添了我对这本书的期待。

                                                                              

                                                                                                                                   2013年4月6日

猜你喜欢

转载自wangjie2013.iteye.com/blog/1842689