zoukankan      html  css  js  c++  java
  • 野指针产生的原因

    #include <stdio.h>
    #include <stdlib.h>
    #include <string.h>

    //野指针产生的原因
    //指针变量和它所指向的内存空间变量是两个不同的概念
    //释放了指针所指的内存空间 但是指针变量本身没有重置成null

    //造成释放的时候 通过if(p1 != NULL)

    //避免方法:1)定义指针的时候 初始化成null 2)释放指针所指向的内存空间后,把指针重置成null
    int main(void)
    {

    char *p1 = NULL;
    p1 = (char *)malloc(100);
    if(p1 == NULL)
    {
    return ;
    }
    strcpy(p1, "11112222");

    printf("p1:%s ", p1);


    if(p1 != NULL)
    {
    free(p1);
    p1 = NULL;    //释放了指针所指的内存空间 但是指针变量本身没有重置成null
    }
    if(p1 != NULL)
    {
    free(p1);

    }
    return 0;
    }

    欢迎加入作者的小圈子

    扫描下方左边二维码加入QQ交流群,扫描下方右边二维码关注个人微信公众号并,获取更多隐藏干货,QQ交流群:859800032 微信公众号:Crystal软件学堂

    作者:Liu_Jing
    bilibili视频教程地址:https://space.bilibili.com/5782182
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在转载文章页面给出原文连接。
    如果你觉得文章对你有所帮助,烦请点个推荐,你的支持是我更文的动力。
    文中若有错误,请您务必指出,感谢给予我建议并让我提高的你。
  • 相关阅读:
    vim配置
    git rebase
    mongodb的docker-compose.yml
    Nginx配置BrowserRouter跟随react-router
    Flux Architecture & Redux Data Flow & redux & react-redux PPT
    from acwing 从算法数量推算算法复杂度
    evalRPN 逆波兰算术
    二分区间
    Flex布局
    Treap 模板
  • 原文地址:https://www.cnblogs.com/Liu-Jing/p/6648428.html
Copyright © 2011-2022 走看看