《C陷阱与缺陷》——总结

简介:

本文主要总结自己看完《C陷阱与缺陷》这本书后的感想。

  总的来说,在看的过程中遇到一些知识点的时候,深入的去查询资料,去了解稳重的实质,会让你有一种知识点上的明悟。

  本书1-3章,从词法,语法,语义三方面阐述了C中的缺陷和陷阱,对于C和C++者来说可以获得很多新的东西,规避一些自己平时忽略的东西。

  本书4-7章,所讲的东西与编译器的联系太过紧密,很多东西对于现在的编译器来说都,都能够胜任,而不需要读者去考虑。故本博客所写《C陷阱与缺陷》系列文章主要为1-3章内容还有第6章内容。

  第四章——连接,4-1节讲述连接器进行连接的工作本质,让读者了解C和C++编译与连接的过程;4-2、3节讲解extern和static的使用,其实对于很多经验程序员来说并不复杂(在学习过程中,转载一篇在C++中使用extern C的文章:http://www.cnblogs.com/liuxiaoming/articles/2644649.html 比较有趣);4-4形参,实参与返回值和头文件,4-6头文件真心觉得现在编译器对文章所讲述的缺陷几乎完全的覆盖。

  第五章——库函数,对于习惯了C++的来说几乎可以忽略,对于C工作者来说,errno、signal使用到的情况很少(本人貌似就没用到过)。

  第六章——预处理,主要讲解宏的使用,宏无疑是个很强大的东西,这个对于C编程者,用好了可以提高效率,用不好是致命的麻烦。

  第七章——可移植性缺陷,给我影响深刻的是7-3节,整数的大小及章节问题给使我对int类型的设计有了一个新的认识;7.10节的realloc函数,在C++ PRIMER中被称为臭名昭著。

 

  总的来说,这本书讲得很琐碎,但是,静下心的看下去,还是能够获得一些东西。这本书据说是在ANSI C标准出台前就写出来了,很让人惊讶作者的前瞻性,但是同时也因为时间上的局限性,文中所讲的很多东西对于现在的C和它的编译器来讲都可以忽略掉。

  大师的作品,从中找到一些思考方法是最为重要的,祝想读这本书的童鞋都能有所收获。

目录
相关文章
【链表】还不会用C++实现链表?一文教会你各种链表的实现
【链表】还不会用C++实现链表?一文教会你各种链表的实现
586 0
|
机器学习/深度学习 人工智能 算法
探索深度学习在图像识别领域的最新进展
【10月更文挑战第10天】探索深度学习在图像识别领域的最新进展
431 0
|
4月前
|
缓存 运维 监控
vLLM推理加速指南:7个技巧让QPS提升30-60%
GPU资源有限,提升推理效率需多管齐下。本文分享vLLM实战调优七招:请求塑形、KV缓存复用、推测解码、量化、并行策略、准入控制与预热监控。结合代码与数据,助你最大化吞吐、降低延迟,实现高QPS稳定服务。
1299 7
vLLM推理加速指南:7个技巧让QPS提升30-60%
|
7月前
|
运维 数据可视化 数据挖掘
生产现场巡检怎么做才有效?一线点检、异常上报、统计报表的最佳实践
本文介绍了如何通过草料二维码构建轻量、易用且闭环的巡检机制。针对巡检员、维保人员和管理员三类角色,分别阐述了扫码点检、异常即时上报与自动提醒、任务监督与数据分析的具体实现方式,助力企业提升巡检效率与执行效果,实现设备管理的透明化与智能化。
|
自然语言处理 安全 测试技术
CodeGeeX高级功能
【8月更文挑战第30天】CodeGeeX高级功能
606 6
|
机器学习/深度学习 算法 网络架构
【YOLOv8改进 - Backbone主干】EfficientRep:一种旨在提高硬件效率的RepVGG风格卷积神经网络架构
【YOLOv8改进 - Backbone主干】EfficientRep:一种旨在提高硬件效率的RepVGG风格卷积神经网络架构
|
网络协议 Linux 网络安全
在Linux中,如何配置Samba共享?
在Linux中,如何配置Samba共享?
|
监控 安全 数据安全/隐私保护
ERP系统中的组织架构与权限管理解析
【7月更文挑战第25天】 ERP系统中的组织架构与权限管理解析
1487 2
|
Kubernetes 网络安全 容器
在K8S中,有个服务使用service的nodeport进行暴露,发现访问不到如何排查?
在K8S中,有个服务使用service的nodeport进行暴露,发现访问不到如何排查?
|
存储 算法 C语言
C语言手撕实战代码_二叉树_构造二叉树_层序遍历二叉树_二叉树深度的超详细代码实现
这段代码和文本介绍了一系列二叉树相关的问题及其解决方案。其中包括根据前序和中序序列构建二叉树、通过层次遍历序列和中序序列创建二叉树、计算二叉树节点数量、叶子节点数量、度为1的节点数量、二叉树高度、特定节点子树深度、判断两棵树是否相似、将叶子节点链接成双向链表、计算算术表达式的值、判断是否为完全二叉树以及求二叉树的最大宽度等。每道题目均提供了详细的算法思路及相应的C/C++代码实现,帮助读者理解和掌握二叉树的基本操作与应用。
428 2