其他
各路大牛的C语言编程建议和技巧,看完感触颇深
1 、排版问题
2 、变量命名
3 、指针的使用
4 、过程名称
5、 注释
6 、复杂度
规则 1:不要断定程序会在什么地方耗费运行时间。瓶颈总是出现在令人意想不到的地方,直到证实瓶颈在哪,不要试图再次猜测并加快运行速度。
规则 2:估量(measure) 在没有对代码做出估量之前不要优化速度,除非发现最耗时的那部分代码,要不也不要去做。
规则 3:当 n 很小时(通常也很小),花哨的算法运行很慢。花哨算法有很大的常数级别复杂度。在你确定 n 总是很大之前, 不要使用花哨算法。(即使假如 n 变大,也优先使用规则 2).例如,对于常见问题,二叉树总比伸展树高效。
规则 4:花哨的算法比简单的算法更容易有 bug,而且实现起来也更困难 尽量使用简单的算法与简单的数据结构。
数组
链表
哈希表
二叉树
规则 5:以数据为核心 如果选择了适当的数据结构并把一切都组织得很有条理性,算法总是不言而喻的。编程的核心是数据结构,而不是算法。(参考 Brooks p. 102)
规则 6:就是没有规则 6。
7 、数据编程
8、 函数指针
9 、包含文件
(2)注意语句的嵌套不要太长,把主函数尽量写简短。经常看到别人的代码是主函数只有几行,几个函数调用,而定义全在主函数外部。这样一是减少了主函数内部的嵌套,二是比较精简,容易读懂。
(3)注意语句的选择。并不是分支语句就用if循环就用while、for。在适当的情况下switch和dowhile语句也是要用的。在某些时候,switch语句比if语句更加精练明了,而dowhile比while少一个循环。
推荐阅读
【01】经典:C语言在嵌入式系统编程时的注意事项【02】我惊呆了!这道C编程面试题居然有如此多的解法!【03】深度文章,高手必看:C编程表驱动法编程实践(精华帖,建议收藏并实践)【04】工程师精华帖:C 语言表驱动法编程实践【05】工程师总结:单片机C语言编程心得