Chinaunix首页 | 论坛 | 博客
  • 博客访问: 372409
  • 博文数量: 75
  • 博客积分: 1486
  • 博客等级: 上尉
  • 技术积分: 675
  • 用 户 组: 普通用户
  • 注册时间: 2010-07-22 18:38
个人简介

...

文章分类
文章存档

2023年(1)

2021年(3)

2020年(2)

2018年(1)

2017年(1)

2016年(10)

2015年(34)

2011年(14)

2010年(9)

分类: C/C++

2011-08-31 16:06:13

 
以前经常忽略的小问题,在最近的一次编程中却出现了问题,而且还费了好些时间,终于
在调试中发现了,看来这些小问题还是相当的重要
 
下面是一个程序小片段
  1. char str[MAX];

  2. memset(str, 0, sizeof(str));

  3. if(str == NULL) {
  4.     program 1;
  5. } else {
  6.     program 2;
  7. }

预想的结果是,这个程序回去执行 program 1,但是却犯了一个致命的错误,原因是错误的理解

memset函数的用途,这个函数的用途是将指定的空间清零,即\0\0\0\0…;

所以这里不可以用 NULL 来判断

所以在初始化的时候一定要特别注意这些细节上的问题,或者说是好好理解一些函数的用法!

总结一下防止以后在犯类似的错误!!

 

阅读(1425) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~