C陷阱与缺陷(当前阶段不满足我的实用需求,已删)
编程之美——微软技术面试心得(干货有点少,已删)
动态规划法,以及它的变形——备忘录法。
启发式算法
穷举算法
查表法
分治法
排序算法
明解C语言(这个就有点偏基础了,已删)
左操作数
双目运算符
表达式
条件运算符
逻辑运算符
程序块
标识符
定义声明 非定义声明
质数
函数体
作用域
C专家编程(干货较少,目前没有实际应用的领域,已删)
ANSI-C
原型
尽量用有符号类型,避免强制转换时,-1被翻译为非常大的正数
内存泄漏:忘记释放已分配的内存
让你的软件飞起来(一些算法优化技巧,已删)
二维数组转换为一维数组
除法换为乘法
浮点换为定点/1000
2的N次幂转换为移位
可预先得到的结果用查表法
差标的数据放在CACHE
Int改为short
C改为汇编
《C 语言接口与实现》
以下选自豆瓣的评论:
看到很多媒体上都评论这本书怎么好,怎么好,我读过这本书,却没有感觉到任何令我惊喜的东西,很是失望。
当时我正在思考如何将C运用到实际项目中,而且自己也总结了一些方法,怎么模块化设计,如何借鉴面向对象的思想进行管理,如何接口与实现分开,如何处理错误等等,而且这本书中也确实提到了这些方面,一开始也确实令我很惊奇,心想,终于有可以切磋的对象了。
可是,我立马就很失望了。看到他其中封装的stack,list等数据结构,感觉还不如我的更优雅;费力气实现C的异常机制,却证明在实际项目中无法应用,很多东西不是不优雅,就是不适合实际应用,令我大为失望。
然而,在论坛上看到一篇分析linux c中某/linux文件夹中的库时,他的实现方式之优雅,之可扩展性,之广泛应用性,之简洁性令我大为惊喜,甘拜下风。因此如果真想了解如何将C语言应用到实际项目中,不如去读源代码,因为那是在实际的项目应用中逐渐磨练出来的。
另外的方法就是:针对面试题、笔试题操练