各位有什么深入了解 C 语言的书嘛?

184 天前
 WilliamColton
如题,最近发现对 C 语言的了解还不够深入,如函数传参顺序,局部变量和全局变量的赋值等,各位有什么好的书籍推荐么(可以和汇编结合起来讲),最近对这个挺感兴趣,同时也在学习汇编,所以劝我放弃之类的话就不用说了,毕竟是兴趣
3097 次点击
所在节点    C
34 条回复
yolee599
184 天前
《 c primer plus 》,《 C 和指针》,《 C 专家编程》,《 C 陷阱和缺陷》
Edwinxedwin
184 天前
C 专家编程 -> CSAPP -> APUE -> 之后就根据工作需要学相关的
yhm2046
184 天前
最經典那本 c 語言之父寫的《 C 程序設計編程語言》和樓上推薦的,有能力直接看英文版,然後把每本書最後列出的參考書目讀一遍,應該夠深入了
thinkm
184 天前
C 语言程序设计,第五版
lovekernel
184 天前
@yhm2046 这位老哥是真大牛。直指本质。事实上 C 语言作者自己的《 C Programming Language, 2nd Edition 》就是最好的书了。把后面的 Appendix 看完,就能做到对 C 语言的理解准确而深入。
NPC666
184 天前
推荐 C 语言之父谭浩强的<C 语言程序设计>
HkMuxxx
184 天前
谭浩强的书
Nitroethane
184 天前
C 语言的书不讲楼主提到的这些啊。要了解这些的话直接看《程序员的自我修养——链接、装载与库》,然后遇到书里讲得不清楚的直接查英文资料就行
tool2d
184 天前
去 github 上看高手的 C 代码,很多代码风格书上不一定讲到。

对于码农,最靠谱的就是那句:stop bb, show me the code
artnowben
184 天前
深入了解 C 语言,需要能阅读一些优秀的 C 开源项目,从代码中学习
1. linux kernel 的 list_head ,经典中的经典
2. dperf 测试仪 https://dperf.org/ 10K 代码,适合新手读
3. nginx
timewarp
184 天前
当然是《 redis 设计与实现》
enchilada2020
184 天前
不看 K&R 不足以谈 C 是我一直以来的一点小执念
besto
184 天前
一般书不可能汇编和 C 一起讲。
谈汇编不谈架构就是耍流氓,gcc 汇编和 intel 汇编又不一样,这们问就只能当兴趣了...
intel x86 汇编,看看 30 天写一个操作系统这种类型的书,基本就够用了,问题在于一半时间在处理 IO 或是 intel 分段机制,而且现在都是 x86-64 架构,完全用不上;
arm v8 汇编,找个新一点的类似树梅派的开发板(甚至 QMUE 也行)足够了,也学一下从 0 开发 os 足够了,不过绕不开 ATF 那一套;
如果不嫌弃,从 risc-v 玩起来倒也是不错的选择。
cabing
184 天前
@tool2d 靠谱。c 的语法简单,需要工程实践中掌握相关的知识。比如调用各类系统 api ,操作系统和网络相关的知识。
kita
184 天前
k&r 足够了。谭浩强的破书错误很多,语法烂的一塌糊涂。
汇编等会写之后直接看看反汇编内容再说
wjx0912
184 天前
《程序员的自我修养——链接、装载与库》+1
leonshaw
184 天前
有兴趣就把标准大概过一遍
hanssx
184 天前
我是先看的 c primer plus ,然后看的 k&r c ,k&r c 也没看完就结束了我的 c 语言学习生涯。。
c 语言四大金刚和 1L 推荐的差不多,偶尔看过一些比如《 C 陷阱和缺陷》,里面讲的东西如果没有大量实践开发经验的话,直接看觉得会很生涩。
从你描述上面看,你想走底层之路,这些 c 语言的书都没有写和汇编有关,稍微涉及一点点底层吧,比如 c primer plus 有个压栈顺序,你所说的传参顺序是依赖于不同架构的调用约定的,需要结合汇编和编译原理学习的话可以参考 13L 的,比如我看了王爽汇编主要讲的 16 位汇编,还挺有意思的。
hanssx
184 天前
补充一下,你要想结合 c 语言和汇编,可以去搞搞逆向、反病毒之类,国内当然是去 pediy 论坛了,其实 vc++本身就带有反汇编功能,可以对照着看。
upupqi
184 天前
@HkMuxxx #7 难绷 hh

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/989412

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX