内存管理malloc的一些注意事项

来源:互联网 发布:java 解码和编码 编辑:程序博客网 时间:2024/05/22 03:15
 (2012-03-08 13:08)
标签:  内存管理  分类: C_Language


内存的使用规则:

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

        step1: p = malloc(size);

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

原创粉丝点击