C编程中,避免产生bug的几种基本编程习惯

 (1)尽量使用memcpy、memset、memcmp而不使用strcpy、strcmp,除非你确定操作的数据一定是字符串。  声明函数的参数时,定义为char*的变量,不一定确实是字符串类型数据,也可能是一个二进制流数据,最好声明为void×类型   (2)文件的打开和关闭 打开:  FILE *fp = NULL; /*初始化*/  fp = fopen(...);  if(NULL == fp)   错误处理;

关闭:  if(NULL != fp){   fclose(fp)   fp = NULL;  /*还原初始化*/  }

(3)malloc, free的使用 动态内存分配:  int * p = NULL; /*声明并初始化*/  p = (int *)malloc(sizeof(int));  if(NULL == p)   错误处理;     内存释放:  if(NULL != p)  {   free(p);   p = NULL;  /*还原初始化*/  }   (4)准确的函数声明  任何函数,都要有原型(及函数声明)。特别是返回类型为指针型的,一定要声明。  由于在C语言中,系统会把没有声明的函数返回值统统默认为int类型,所以,如果是指针类型没有声明的话,在64位平台上运行时core的机会将大大存在,是一个大麻烦。    俗话说,出来混,总是要还的。平时不注意,到用户现场出问题的可能性较大,难堪、麻烦的总是自己。

转载于:https://www.cnblogs.com/java201408/archive/2007/12/26/3901023.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值