美文网首页
iOS中的野指针、僵尸对象、空指针

iOS中的野指针、僵尸对象、空指针

作者: 南少cc | 来源:发表于2017-06-06 15:48 被阅读0次

    野指针

    野指针和空指针是不一样的,空指针没有储存任何的内存地址,而野指针指向的一块内存地址,但是该内存不可用。换句话说,野指针指向的对象已经被释放了。
    <pre>Person *p =[[Person alloc]init];
    [p setName:@"wan"];
    [p release]; //指针p指向的对象已经被释放,但是该指针还能访问该内存地址
    [p setName:@"zero"]; //所以此处不会报错</pre>

    僵尸对象

    在OC中,对象被释放后所占用的内存在没有被复写(重新分配给其他对象)前称为僵尸对象,这是野指针是可以访问该内存的,因为对象的数据还在,所以程序不会报错。但是该内存一旦重新分配给其他对象就会出现问题。

    nil、Nil、NULL、NSNULL的含义和区别

    nil:OC中的对象的空指针

    Nil:OC中类的空指针

    NULL:C类型的空指针

    NSNull:数值类的空对象

    showjoy_120.png

    <h1 align = "center">喜欢文章的顺便支持下小店儿呗!😊😊😊😊😊😊😊😊</h1>
    一款自用省钱,分享赚钱的平台!注册达人店店主优惠更多,app邀请码avypwr6

    相关文章

      网友评论

          本文标题:iOS中的野指针、僵尸对象、空指针

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