我重新学习 C
;这已经好几年了,而熟悉的细微差别已经及时消失了。
我最初从K& R学到了 C
。但是,我现在看到许多人对K& R的批评程度进行了调整。
一个主要的例子是http://c.learncodethehardway.org/book/learn-c-the-hard-waych55.html#x61-27200055
主要原因似乎是它的代码风格过于简洁,实践不适用于较大的程序,导致内存泄漏或在共享网络可访问系统中受到攻击。
人们是否认为这些批评是公平的?学习 C
的人是否重要?如果是这样,人们可以推荐“现代” C
一本书,最好是Kindle可用吗?
答案 0 :(得分:17)
只要您谈论第2版,K& R仍然非常相关。
事实上,我会说它仍然是关于C的最好的单本书,无论是学习还是参考。
那就是说,你还应该得到一份Harbison& amp;斯蒂尔的“C:A参考手册”。这是C上最好的当前参考,第五版涵盖了C99,如果可以,你应该使用它。
此外,一旦你有一点C背后,我强烈建议阅读彼得范德林登的“专家C编程”。
答案 1 :(得分:2)
在学习语言方面,它仍然相关且仍然非常有用。学习该语言不需要您实现有助于代码可读性的新实践或样式等。
例如,自我记录代码的想法是使用详细的变量和函数名来帮助解释函数或变量的用途。 K& R显然反对这一点。这并不意味着你无法从K& R学习C语言,它只是意味着你的风格需要根据你未来决定的命名惯例进行调整/更新。
我不能推荐“专家C编程”(如gregj所述)。