您的位置首页百科问答

nil和NULL的区别是什么?

nil和NULL的区别是什么?

的有关信息介绍如下:

一、含义不同

1、Nil:只能作为指针变量的值。 如果1个指针变量的值是NULL值代表.。代表这个指针不指向内存中的任何1块空间。

2、Null:NULL等价于0 NULL是1个宏,代表0。

二、用法不同

1、Nil:OC的类指针用nil。

2、Null:C指针用NULL。

nil和NULL的区别是什么?

三、原理不同

1、Nil:如果一个类指针的值为nil 代表这个指针不指向任何对象。Person *p1 = nil;

通过p1指针去访问p1指针指向的对象的属性 这个时候会运行报错。

2、Null:如果一个类指针的值为NULL,代表这个指针指向空白的空间,Person *p1 = NULL。通过p1指针去调用对象的方法 运行不会报错 但是方法不会执行没有任何反应。

参考资料来源:百度百科-nil

参考资料来源:百度百科-NULL