美文网首页
野指针和僵尸对像、空指针

野指针和僵尸对像、空指针

作者: 越天高 | 来源:发表于2019-02-22 23:08 被阅读1次

1.僵尸对象

  • 只要一个对象被释放了, 我们就称这个对象为 "僵尸对象"
  • 已经被销毁的对象(不能再使用的对象)

2.野指针

  • 指向僵尸对象(不可用内存)的指针

  • 当一个指针指向一个僵尸对象, 我们就称这个指针为野指针

  • 给野指针发消息会报EXC_BAD_ACCESS错误 。message sent to deallocated instance 0x1001146b0

3.空指针

  • 没有指向存储空间的指针(里面存的是nil, 也就是0)
    给空指针发消息是没有任何反应的
  • 为了避免给野指针发送消息会报错, 一般情况
    下, 当一个对象被释放后我们会将这个对象的指针设置为空指针
Person *p = [[Person alloc] init]; // 1
        [p release]; // 1-1 = 0
        // *** -[Person release]: message sent to deallocated instance 0x1001146b0
        p = nil;
        [p release];
        [p release];
        [p release];

相关文章

  • 野指针和僵尸对像、空指针

    1.僵尸对象 只要一个对象被释放了, 我们就称这个对象为 "僵尸对象" 已经被销毁的对象(不能再使用的对象) 2....

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

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

  • iOS 常见面试题总结

    1. 空指针、野指针以及僵尸对象的理解,如何避免野指针错误。解答:内存被释放的对象为僵尸对象(不能再使用的对象)。...

  • 内存管理

    一,堆和栈 二,空指针、野指针和僵尸对象、内存泄露 三,assign,weak,strong,copy 详解 四,...

  • 野指针僵尸对象空指针

  • 僵尸对象、野指针、空指针

    僵尸对象: 已经被销毁的对象(xcode 中默认不实时检查僵尸对象) 野指针 指向僵尸对象(不可用的内存)的指针 ...

  • 野指针、空指针、僵尸对象

    一、僵尸对象: 一个OC对象引用计数为0被释放后就变成僵尸对象了,僵尸对象的内存已经被系统回收,虽然可能该对象还存...

  • 内存管理

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

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

    一些基础的知识,经常混淆,特整理下 空指针: 1. 没有存储任何内存地址的指针就称为空指针(NULL指针)。 2....

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

    一些基础的知识,经常混淆,特整理下 空指针: 1. 没有存储任何内存地址的指针就称为空指针(NULL指针)。 2....

网友评论

      本文标题:野指针和僵尸对像、空指针

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