您的位置:首页 > 编程语言 > C语言/C++

C语言编程不得不养成的好习惯

2012-07-27 15:44 295 查看
1:函数参数检查

我们一般写一个函数,从来不会对函数的实参进行合法性检查,其实这是很不好的习惯。因为通常我们的函数不会出问题,但是如果

参数有问题,这个错误是和不好发现的。对参数的合法性检查可以提高程序的健壮性,如自动有提示,可提高可维护性。

2:确保数组越界。

我们应该时刻记住这点。如果往里存储一个字符串,别忘了,最后一位是"\0"

3:定义变量初始化

定义变量后,应该尽快对其初始化。如果未舒适化。是一个隐患。

4:malloc后判断结果。

一般在我们的课程设计中,malloc通常都会申请成功,但在实际中,仍会出现未分配成功的情况,这时,他

会返回空。所以应该首先判断该函数返回是否为空。

5:确保不是在访问空指针

如果访问一个指针类型的变量,那么应该注意判断是否为空。如果为空就不该访问它了。

6:工欲善其事必先利器

在动手编码之前,一定要先设计好算法。否则会很浪费时间和精力。

7:注意添加注释

在复杂的代码旁边应该有适当的注释。一方面方便别人看,一方面方便自己日后看。但切忌注释泛滥。

int i; /*define a variable*/

上面的注释不仅多余,更像是侮辱阅读程序人员的智商,这种注释千万不要有,注释

应该放在程序理解比较困难的地方。

8:多使用宏定义来定义常量。

宏定义的使用可以提高程序的可维护性。方便升级和移植。

9:应该使用sizeof来计算长度。

数据类型的长度在不同的平台下是不同的。所以为了提高移植性多使用它吧。

10:标准库函数

一方面标准库函数一般都是比较高效的安全代码。所以尽量使用它。除非在特出情况下为了提高效率,放弃使用slb

11:switch 语句别忘记default

曾经就是因为忘了写它导致浪费了很多精力。

12:变量起名要有意。

要达到识名知意的程度。

13:使用assert方便调试

别忘了#include  <assert.h>。

必须知道assert()只在调试版本呢中又效,在发行版本中是无效的。

14:malloc与free配对

malloc动态分配的内存属于堆空间。不会随着程序的退出而释放,所以在系统退出前要把使用到的堆空间都释放掉。

否则会造成内存泄露。

15:不要在函数内部定义较大的数组。

函数栈是有大小限制的。对于常见的C编译环境,默认栈的大小是:Cygwin为2MB,linux为8MB,windows为1mb。

如果想定义一个大的数组,不防试试malloc

16:多个参数替换为结构体传递。

一方面使函数简洁一方面减少函数入栈时压入多个参数带来的开销,方面函数调用,减少错误。

17:使用snprintf()代替sprinf()

同样的还有fgets()代替gets()。前者都比后者多了一个内存大小的限制条件。

18:遵守规矩,保持代码格式与项目相同

大家是团队合作,不是个人英雄。

19:经常的备份代码

你懂得。

参考《经典C语言真题精讲》。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息