美文网首页
objective-c 空指针和野指针

objective-c 空指针和野指针

作者: zhaihongxia | 来源:发表于2017-06-11 16:46 被阅读0次

1.空指针

1>没有存储任何内存地址的指针就称为空指针(NULL指针)

2>空指针就是赋值为0的指针,在没有被具体初始化之前,其值为0

e g:   Student  *s1 = NULL;

         Student s2 = nil;

2.野指针

野指针不是NULL指针,是指向垃圾内存的(不可用内存)的指针。野指针非常危险

e g: Student *stu = [Student alloc] init];

      //内存中有个指针变量stu(地址0xff45), 指向了Student对象(地址:0xff43)

        [stu setAge:10];       

//给stu所指向的Student对象发送一条setAge:消息,即调用Student对象的setAge:方法。目前Student对象扔存在于内存中。

       [stu release];

//给stu指向的Student对象发送一条release消息。Student对象会马上被销毁,所被占用的内存会被回收。地址0xff43的内存就变成了垃圾内存,指针变量stu仍指向这块内存,stu就称为野指针

       [stu setAge:10];

//运行程序会发现是个野指针错误

stu = nil;     [stu setAge:10];

//stu变成了空指针,stu就不再指向任何内存了,没有指向任何对象,消息发不出去的,不会造成任何影响,也不会报错。

相关文章

  • objective-c 空指针和野指针

    1.空指针 1>没有存储任何内存地址的指针就称为空指针(NULL指针) 2>空指针就是赋值为0的指针,在没有被具体...

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

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

  • iOS空指针和野指针

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

  • 空指针和野指针

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

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

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

  • 野指针空指针万能指针

    野指针空指针万能指针

  • 空指针与野指针

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

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

    野指针 野指针和空指针是不一样的,空指针没有储存任何的内存地址,而野指针指向的一块内存地址,但是该内存不可用。换句...

  • 空指针、野指针与悬垂指针

    空指针:指针指向的地址为空的指针叫空指针(NULL指针) 野指针:是指向“垃圾”内存(不可用内存)的指针产生原因:...

  • 空指针 野指针与悬垂指针

    一:空指针 指针指向的地址为空的指针叫空指针(NULL指针) 二:野指针 是指向“垃圾”内存(不可用内存)的指针产...

网友评论

      本文标题:objective-c 空指针和野指针

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