我上次在1997年IIRC左右专业使用C.从那以后我使用了很多C ++。现在,我发现我需要再次使用一些C.
我确信的一件事是,我不能放弃明显的C ++功能(例如类),并希望一切都能正常工作。有各种不太明显的语法更改。我只是不记得它们是什么。
有没有一个很好的参考,再次进行转换,但返回到C?如果它解释了C99(以及后来的?)的变化,那就更好了。
答案 0 :(得分:6)
正如Dirkgently暗示的那样,Harbison和Steele是一个很好的参考,但我觉得它没有用。为了重新训练你的想法,我有以下建议:
重读Kernighan和Ritchie
可选:阅读Peter van der Linden的精湛Expert C Programming: Deep C Secrets。
不要忘记图书馆!请看P. J. Plauger的书 The Standard C Library ,或者只是去http://dinkumware.com/(Plauger的公司)浏览他们优秀的C99库文档。
标准C缺少数据结构库。幸运的是,有一个优秀的,免费的第三方库,填补了几个空白:Dave Hanson的C Interfaces and Implementations。
答案 1 :(得分:1)
Herbison和Steele:C: A Reference Manual, Fifth Edition可能对C99有所帮助。另外,请阅读标准,open-std.org上的论文。最后,您计划使用的编译器/工具链文档。后者将所有内容都放在一个角度 - 关于你需要多少重新学习。
答案 2 :(得分:1)
不够,但是一个好的首发:C for C++ Programmers
答案 3 :(得分:1)
不是书,而是阅读GTK +源代码。它可能很难看,但它有一些我读过的最好的C源代码。
答案 4 :(得分:0)
C for Programmers是迄今为止我见过的最好的事情。不幸的是,它差不多20年了,很难找到,而且(显然)没有及时更新C99。
答案 5 :(得分:0)
请尝试以下链接,我发现它很适合参考:
http://www.techbooksforfree.com/ccpp.shtml
Sarafi Books或Books24x7(您可以同时使用ACM或IEEE会员资格)都是技术书籍的绝佳参考。
此外,没有任何东西可以击败K& R:
http://www.amazon.com/exec/obidos/ASIN/0131103628
http://www.amazon.com/exec/obidos/ASIN/013089592X
我认为上面应该给你足够的阅读材料持续几个星期,你将成为一个有成就的C程序员。祝一切顺利。 : - )