zoukankan      html  css  js  c++  java
  • 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");
    }
  • 相关阅读:
    1、TensorFlow简介
    4、numpy+pandas速查手册
    3、pandas
    2、Numpy常用函数
    11、C内存四区模型
    1、Numpy基础
    10、C++函数
    开始
    创建与删除SQL约束或字段约束
    Halcon
  • 原文地址:https://www.cnblogs.com/zhanggaofeng/p/5274633.html
Copyright © 2011-2022 走看看