Wikipedia条目中有很多空白,涉及作者认为C语言中缺少的功能,例如面向对象,多线程,GC,异常处理等. 当然,这是一个有点挑剔,如果您需要这些功能,则可以使用其他编程语言. 引言的另一个重点是“未定义的行为”,我们假定理所当然的某些结果在C语言标准中没有明确定义,假设在使用另一个编译器或不同版本编译和运行程序时这些行为应如何表现的编译器,可能有错误.
下一个Wikipedia条目讨论了C语言的有用性. 必须承认,尽管有数百种编程语言,但是很少有可以被称为“系统级”的语言. 在新兴语言中,只能调用Go. . 当前,在大型软件项目中不太可能完全选择C语言,但核心部分完全可以用C构建. 与C ++开发工具的高昂价格相比,C语言相关的免费辅助开发软件非常丰富,例如夹板,valgrind等,许多核心库在长期使用后也非常稳定.
由于C语言广泛支持各种平台并且编译器相对成熟且可靠,因此许多编程语言选择C语言作为中间层,例如格拉斯哥Haskell编译器.
可以找到许多与C语言编程相关的信息的另一个地方是“美味的书签”. 通过搜索特定的关键字(C +编程),您可以找到许多值得进行+编程的资源
您还可以参考dmoz.org的C语言分类. 美味书签的时效性几乎差,但分类更系统,搜索也更容易.

程序员经常是懒惰的. “引入”和“复制”非常流行且有效. 当您不太了解函数或关键字时,请看看其他人如何使用它. 鼓舞人心. 以下是一些常用的代码搜索站点,其中最常用的是Google的codesearch : ,您可以通过不同的条件和正则表达式来搜索特定的关键字. 您也可以参考Wikipedia上的“带有C语言示例的文章”类别,其中的代码也很好. 您也可以在github.com上搜索相关项目. 在上一篇博客文章中,我还介绍了一个名为Rosetta code的网站. 该网站可以用不同的编程语言找到解决问题的方法,非常方便学习.
学习编程还需要阅读许多著名大师的经典密码,而学习汉语和英语则需要阅读很多杰作. C语言编程质量项目是“五颜六色的旗帜,人民和人民”. 个人建议可以看一下这些项目Lua,Sqlite,Nginx的代码量不多,并且代码质量相对较高. 另外,您可以看一下Linux内核代码,有很多书籍可以帮助解释. 有关如何良好地阅读代码的信息,请参阅《代码阅读》一书.
我读了几本书,写了一些代码,然后读了其他的代码. 我应该使用C语言来完成实际工作中遇到的问题,以便C语言可以真正成为您的瑞士. 只有当您经常使用C语言进行编程工作,并且经常考虑如何通过C设计一个优雅高效的系统时,您才能更深入地了解C语言的设计理念.
您还可以回答问题并浏览其他人的答案以学习知识. 例如,本文介绍了一个有关char类型的C语言小陷阱.
在C语言学习中,存在一些需要更多注意的困难,例如指针与数组之间的区别,如何解释复杂的类型定义,如何正确使用预处理器预处理器和宏定义. 实际上,这些内容在以前的书中已经重复提及. 如果您逐步学习,应该没问题.
学习C语言几乎相同时,还可以学习动态语言,例如Lua或Python,在实际工作项目中尝试将动态语言和C语言混合使用,一加一的功效大于二,但第二(笑,哈哈).
如有任何疑问,请留言.
C语言标准化组织ISO JTC1 / SC22 / WG14的主页,您可以在其中找到ISO C文档:
《 C语言的发展》一书的作者丹尼斯·里奇(Dennis Ritchie)是非常经典的论文.
“ C语言全景图”的内容非常全面:
Dan Saks的嵌入式程序专栏“编程指针”. 这篇文章非常深入,值得阅读.
这也是C语言资源摘要页面.
混淆C语言代码竞赛非常有名.
另一场C编程竞赛主要针对黑客.
Comp.lang.c和c.moderated两个讨论小组建议订阅,这相当于Internet上最大的C相关编程问题论坛:
这里是C语言中各种位操作的集合. 面试中经常出现很多问题. 〜seander / bithacks.html
本文来自电脑杂谈,转载请注明本文网址:
https://www.pc-fly.com/a/jisuanjixue/article-234099-2.html
那里的许多岛屿的主权一贯存在争议