美文网首页
空指针 野指针与悬垂指针

空指针 野指针与悬垂指针

作者: 再好一点点 | 来源:发表于2019-03-11 22:05 被阅读0次

一:空指针

指针指向的地址为空的指针叫空指针(NULL指针)

    int *p;
    p = NULL;
    
    char *pC;
    pC = nil;

二:野指针

是指向“垃圾”内存(不可用内存)的指针
产生原因:
指针创建时未初始化。指针变量刚被创建时不会自动成为NULL指针,它会随机指向一个内存地址。

    int *p;
    NSLog(@"%s", p);
    p = NULL;

此时运行会崩溃,错误信息Thread 1: EXC_BAD_ACCESS (code=1, address=0xffffffff00000000)

三:悬垂指针

指针所指向的对象已经被释放或者回收了,但是指向该对象的指针没有作任何的修改,仍旧指向已经回收的内存地址。 此类指针称为垂悬指针。

释放指针指向的内容,打印的结果乱七八糟的 悬垂指针 释放指针指向的内容,并且指针置为NULL 空指针

相关文章

网友评论

      本文标题:空指针 野指针与悬垂指针

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