zoukankan      html  css  js  c++  java
  • 在用free()函数释放指针内存时为何要将其指针置空

    在通过free()函数释放指针内存之后讲其指针置空,这样可以避免后面的程序对与该指针非法性的判断所造成的程序崩溃问题。释放空间,指针的值并没有改变,无法直接通过指针自身来进行判断空间是否已经被释放,将指针置空有助于判断一个指针所指向的空间已经被释放。

    内存泄露:

      例如:int *p = (int *)malloc(sizeof(int)),如果在用p只想其他地址,则原本malloc()分配的地址便找不到了,造成内存泄露的后果。

    free(p)后,p是一个非法指针,不可以对他进行访问。为了防止忘记对释放内存后的指针的置空,可以在函数的开头宏定义一个函数

    #define free(p)

      if(p)

    {

    free(p);

    p = NULL;

    }

    笨鸟先飞
  • 相关阅读:
    工厂模式
    Bootstrap 日历
    处理乱码
    Eclipse常用快捷键
    C#_XML与Object转换
    jQuery选择函数
    Bootstrap如何正确引用字体图标
    js上拉加载、下拉刷新的插件
    js通用对象数组冒牌排序
    关于js跨域
  • 原文地址:https://www.cnblogs.com/zoutingrong/p/12178631.html
Copyright © 2011-2022 走看看