美文网首页
NULL、nil、Nil 和NSNULL

NULL、nil、Nil 和NSNULL

作者: xiari1991 | 来源:发表于2018-04-27 11:17 被阅读1次

转:nil、Nil、NULL和NSNull区别
NULL、nil、Nil这三者对于Objective-C中值是一样的,都是(void *)0,那么为什么要区分呢?又与NSNull之间有什么区别:

NULL是宏,是对于C语言指针而使用的,表示空指针
nil是宏,是对于Objective-C中的对象而使用的,表示对象为空
Nil是宏,是对于Objective-C中的类而使用的,表示类指向空
NSNull是类类型,是用于表示空的占位对象,与JS或者服务端的null类似的含意

野指针

什么是野指针呢?野指针就是随机指向一块内存的指针。
如果一个指针被定义成了野指针,那对这个指针的使用的危害是多么的大,它可能改变程序中任何地方的值。
那到底造成野指针的原因有哪些?
a.指针指向一块已经释放的内存。

b.指针指向一块没有访问权限的内存。
下面我们来讲讲怎么来避免野指针:

a.给指针赋值的时候,先检查指针是否分配了合理的内存空间。

b.释放内存的指针要给指针赋值为NULL

相关文章

  • Objective-C nil / Nil / NULL / N

    Objective-C nil / Nil / NULL / NSNull 和 BOOL / bool / Boo...

  • NULL、nil、Nil 和NSNULL

    转:nil、Nil、NULL和NSNull区别NULL、nil、Nil这三者对于Objective-C中值是一样的...

  • IOS 处理空字符串

    一、区别: nil、Nil、NULL和[NSNull null]的区别 1.nil 当一个对象置为nil时,这个对...

  • nil、Nil、NULL和NSNull区别

    nil、Nil、NULL和NSNull区别 对于我们Objective-C开发来说,nil就代表((void *)...

  • iOS nil、NULL、Nil 、NSNull的区别

    nil、Nil、NULL、NSNull的区别 nil:指向一个对象的空指针 Nil:指向一个类的空指针 NULL:...

  • nil、Nil、NULL、NSNULL

    nil、Nil、NULL、NSNull的区别 nil:是对objective c id 对象赋空值Nil:表示对类...

  • nil Nil NULL NSNull

    nil Nil NULL NSNull NULL是宏,是对于C语言指针使用的,表示空指针 nil是宏,是对于...

  • ios中的空值

    nil、Nil、NULL、NSNull的区别nil:指向一个对象的空指针Nil:指向一个类的空指针NULL:指向其...

  • nil、Nil、NSNull、NULL

    nil 表示空对象,每一个对象的引用计数为0时,系统会将这块内存释放掉,这时这个对象就为nil对于这种空对象所有r...

  • nil Nil NULL NSNull

    nil:指向oc中对象的空指针(对象),nil是一个指向不存在对象的指针 Nil:指向oc中类的空指针 NULL:...

网友评论

      本文标题:NULL、nil、Nil 和NSNULL

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