Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5206222
  • 博文数量: 553
  • 博客积分: 13864
  • 博客等级: 上将
  • 技术积分: 11041
  • 用 户 组: 普通用户
  • 注册时间: 2011-11-28 21:25
个人简介

个人Blog: hhktony.com

文章分类

全部博文(553)

文章存档

2015年(1)

2014年(2)

2013年(12)

2012年(384)

2011年(154)

分类: LINUX

2012-03-08 13:08:49

内存的使用规则:

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

        step1: p = malloc(size);

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

阅读(2057) | 评论(0) | 转发(2) |
0

上一篇:链表逆序

下一篇:深入理解C程序内存布局

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