《高质量C程序编程指南》读书笔记

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/hello_world12138/article/details/49255011

1.函数考察的三个方面:(1)编程风格(2)出错处理 (3)算法复杂度分析(用于提高性能)

2.源文件开头需要有:

(1)   版权信息

(2)   文件名称,标识符,摘要

(3)   当前版本号,作者/修改者,完成日期

(4)   版本历史信息

3.不提倡使用全局变量,类似于 externint values;这样的声明

4.长表达式,于低优先级处拆分成新行,操作符位于新行之首

5.注释:在写代码的同时,进行注释,精确易懂

6.变量用小写字母开头,例如:intdrawMode;

  常量全部用大写,中间用下划线分割单词,例如:const int MAX_LENGTH =10;

  静态变量前缀为 s_

  全局变量前缀为 g_

7.利用()避免优先级的混淆

8.对于float和double 型,判断是否为0,都需要有精度限制

例如:float 型, float EPSINON = 0.00001;

               if((x >= - EPSINON) && (x <= EPSINON));为真

9.循环:将最长的循环放在最内层,提高效率

10.函数参数:一般把目的参数放在前面,源参数放在后面。

若参数是指针,且只作输入作用,应该在类型前添加const,以防止该指针在函数体内被修改。

11.函数中:正常值(结果):通过输出参数获得

           而错误标志用return 语句返回。

12.有些函数不需要返回值,但是为了增加灵活性,如支持链式表达式,可以附加返回值。

13.函数入口参数检查:检测非法参数,正确使用“断言”(assert)

#include<assert.h>

assert((参数必须满足的条件) &&(参数必须满足的条件)……);

14.return:返回时,确认不是返回指向“栈内存”的指针或者引用,因为该内存将在该函数结束的时候自动销毁,导致返回值无效或者出错。

15.参数为指针的时候,不能在函数中分配空间,因为这个指针是一份拷贝,实在需要对该指针分配空间,需要使用指向指针的指针,才能正确的分配。应注意函数的局部变量指针,会在函数调用结束以后消亡。

voidgetmemory(char *p);//错误

voidgetmemory(char **p);//正确

 

书的后续为c++内容。

猜你喜欢

转载自blog.csdn.net/hello_world12138/article/details/49255011