Chinaunix首页 | 论坛 | 博客
  • 博客访问: 1262034
  • 博文数量: 548
  • 博客积分: 7597
  • 博客等级: 少将
  • 技术积分: 4224
  • 用 户 组: 普通用户
  • 注册时间: 2010-12-15 13:21
个人简介

嵌入式软件工程师&&太极拳

文章分类

全部博文(548)

文章存档

2014年(10)

2013年(76)

2012年(175)

2011年(287)

分类:

2012-03-08 14:55:33

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

内存的使用规则:

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

        step1: p = malloc(size);

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

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