美文网首页
空悬指针和野指针的区别

空悬指针和野指针的区别

作者: tadelemon | 来源:发表于2017-08-10 17:18 被阅读53次

空悬指针:指向的空间已被释放
野指针:指针未被初始化(赋值)


code by C

int main(){
   char c;
   char *dp = &c;

   free(dp);
   return 0;
  //变量p指向的空间被释放,dp变成空悬指针
}
int func()
{
    char *dp;//野指针,没有初始化
    static char *sdp;//非野指针,因为静态变量会默认初始化为0
}
void func()
{
    char *dp = (char *)malloc(A_CONST);
    free(dp);         //dp变成一个空悬指针
    dp = NULL;        //dp不再是空悬指针
    /* ... */
}
int * func ( void )
{
    int num = 1234;
    /* ... */
    return #
    //num是基于栈的变量,当func函数返回,变量的空间将被回收,
    //此时获得的指针指向的空间有可能被覆盖。
}

相关文章

  • 空悬指针和野指针的区别

    空悬指针:指向的空间已被释放野指针:指针未被初始化(赋值) code by C

  • iOS 内存管理相关知识点

    一、说一下悬垂指针、野指针的区别 垂悬指针指针指向的内存已经释放,但是指针还存在,这就是 垂悬指针 或者 迷途指针...

  • 空指针与野指针

    注意空指针和野指针的区别:空指针是指向null的指针,没有指任何内存地址。而野指针是,指向了一块内存地址,但是这块...

  • 【Objective-C】09-空指针和野指针

    一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针)2> 空指针就是...

  • iOS空指针和野指针

    一、什么是空指针和野指针 1.空指针 1> 没有存储任何内存地址的指针就称为空指针(NULL指针) 2> 空指针就...

  • 空指针和野指针

    1、什么是空指针,什么是野指针 2、野指针的危害

  • 内存管理

    1.僵尸对象、野指针、空指针分别指什么,有什么区别? 野指针:指针变量没有进行初始化或指向的空间已经被释放。 使用...

  • iOS-空指针,野指针,僵尸对象

    浅谈一下空指针,野指针,僵尸对象。 空指针:没有存储任何内存地址的指针,空指针的值是0; 野指针:指针指向的对象已...

  • C++11(1)-智能指针

    C++裸指针的内存问题有:1、空悬指针/野指针2、重复释放3、内存泄漏4、不配对的申请与释放 使用智能指针可以有效...

  • 野指针空指针万能指针

    野指针空指针万能指针

网友评论

      本文标题:空悬指针和野指针的区别

      本文链接:https://www.haomeiwen.com/subject/jonhrxtx.html