普通人用 C 语言在 3 年之下,一般来说,还没掌握 C 语言;
5 年之下,一般来说还没熟悉 C 语言;
10 年之下,谈不上精通。
要想学好一门编程语言,最好的办法就是多调试。你去一个软件公司转转,去看人家的键盘,如果发现键盘上的 F10 或 F11 铮亮铮亮,毫无疑问,此机的主人曾经或现在是开发人员(这里仅指写代码的,不上升到架构设计类的开发人员),否则,必是非开发人员。
研究问题一定要肯钻研。千万不要小看某一个简单的事情,简单的事情可能富含着很多秘密。经过这样一番深究,相信你也有不少收获。平时学习工作也是如此,不要小瞧任何一件简单的事情,把简单的事情做好也是一种伟大。劳模许振超开了几十年的吊车,技术精到指哪打哪的地步。达到这种程度是需要花苦功夫的,几十年如一日天天重复这件看似很简单的事情,这不是一般人能做到的。同样的,在《天龙八部》中,萧峰血战聚贤庄的时候,一套平平凡凡的太祖长拳打得虎虎生威,在场的英雄无不佩服至极,这也是其苦练的结果。我们学习工作同样如此,要肯下苦功夫钻研,不要怕钻得深,只怕钻得不深。其实这也就是为什么同一个班的学生,水平会相差非常大的最关键之处。学得好的,往往是那些舍得钻研的学生。很显然,如何去学,很明确了!
有时候这个过程远比结论要重要的多。后面的内容,你也应该能看出来,我非常注重过程的分析,只有你真正明白了这些思考问题、解决问题的方法和过程,你才能真正立于不败之地。所有的问题对你来说都是一个样,没有本质的区别。解决任何问题的办法都一致,那就是把没见过的、不会的问题想法设法转换成你见过的、你会的问题;于怎么去转换那就要靠你的苦学苦练了。也就是说你要达到手中无剑,胸中也无剑的地步
参考得比较多的书有:Kernighan &itchie 的《The C Programming Language》
;Linden 的《Expert C Programming》 Andrew &Koening《C Traps and Pitfalls》 Steve Maguire 的《Write Clean Code》;;Steve McConnell 的《Code Complete. Second Edition》;林锐的《高质量 C++/C 编程指南》。这些书都是经典之,但却都有着各自的缺陷。