Chinaunix首页 | 论坛 | 博客
  • 博客访问: 46930
  • 博文数量: 11
  • 博客积分: 91
  • 博客等级: 民兵
  • 技术积分: 85
  • 用 户 组: 普通用户
  • 注册时间: 2012-02-08 11:44
文章分类
文章存档

2012年(11)

分类:

2012-03-13 15:28:49

原文地址:内存管理malloc的一些注意事项 作者:

内存的使用规则:

  • 在使用malloc()或new申请空间时,要检查有没有分配空间成功,判断方法是判断指针是否为NULL,如申请一块很大的内存而没有这么大的内存则分配内存会失败;
  • 申请成功后最好是将该内存清空,使用memset()后ZeroMemory()清空,不然存在垃圾而造成有时候输出很大乱码;
  • 不要忘记为数组和动态内存赋初值,防止将未被初始化的内存作为右值使用;
  • 要防止数组或指针内存越界;
  • 申请内存成功后,使用结束后要释放,系统不会自动释放手动分配的内存;
  • 内存释放后,指针还是指向那块地址,不过这指针已经是“野指针”了,所以释放内存后指针要指向NULL,不然很危险,容易出错,if()对野指针的判断不起作用。

        step1: p = malloc(size);

        step2: memset(p, 0, size);
        step3: 使用申请到的内存
        step4: free(p);
        step5: p = NULL;

阅读(1758) | 评论(0) | 转发(0) |
0

上一篇:没有了

下一篇:关于LINUX C中函数strtok使用要点

给主人留下些什么吧!~~