• C语言 野指针与空指针


    //野指针与空指针的区别
    
    #define _CRT_SECURE_NO_WARNINGS
    #include<stdio.h>
    #include<stdlib.h>
    
    //野指针是指存在一个指针变量,但是这个指针变量指向的内存空间已经被释放,这时候指针的值还是不为空
    //再次调用free()函数就会报错;空指针是值为NULL的指针变量
    
    void main(){
        int *p = (int *)malloc(sizeof(int));
        *p = 20;
        ////不规范写法
        //if (p!=NULL)
        //{
        //    //第一次释放p指向的内存空间
        //    free(p);
        //    //此时的p变成野指针
        //}
        //if (p != NULL)
        //{
        //    //第二次释放p指向的内存空间,此时P是野指针,程序报错
        //    free(p);
        //}
        //正确的写法
        if (p != NULL)
        {
            //第一次释放p指向的内存空间
            free(p);
            //将P的值变成NULL
            p = NULL;
        }
    
        system("pause");
    }
  • 相关阅读:
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    我的友情链接
    以太坊:通信协议对象 shh
    以太坊:Truffle 概述
    以太坊:快速入门 Truffle
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5274633.html
Copyright © 2020-2023  润新知