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

本文介绍了C语言编程中的一些最佳实践,包括使用memcpy等函数替代strcpy等字符串操作函数的情况、文件的安全打开与关闭、动态内存分配与释放的最佳方式以及确保函数正确声明的重要性。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 (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的机会将大大存在,是一个大麻烦。    俗话说,出来混,总是要还的。平时不注意,到用户现场出问题的可能性较大,难堪、麻烦的总是自己。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

pony12

助力1000篇OpenDDS文

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值