Objective-C中的nil和null的区别

本文解释了Objective-C中null和nil的区别,null作为空指针常量,表示指针未指向内存空间,而nil用于表示空对象或无有效引用。两者在C指针和OC类指针中使用时有特定含义,尽管在大多数情况下可以互换,但建议根据类型进行区分。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

NULL 只能作为指针变量的值,代表这个指针不指向内存中的任何1块空间

null是Objective-C中表示空值的关键字,它是一个空指针常量。在Objective-C中,null通常用于表示空值、空集合、空数组以及其他一些与空值相关的场景。null可以作为指针的值,也可以作为其他需要表示空值的类型,例如NSNumber、NSDictionary等类型的值。与nil不同,当我们对一个null值发送消息时,同样也不会发生任何动作,也不会引发异常。

nil 只能作为指针变量的值,代表这个指针变量不指向内存中的任何空间

nil是Objective-C中表示空对象的关键字。它被用于表示一个指向对象的指针,并且该指针没有指向任何实际的对象。当我们对一个nil值发送消息时,不会发生任何动作,也不会引发异常。在Objective-C中,对象和类的指针可以被赋值为nil,表示它们没有引用任何有效的对象或类。

NULL和nil其实都等价于0 都是1个宏 就是0

虽然在大多数情况下,可以将它们视为可以互换使用,但我们尽量在

C指针用NULL                1nt*p1=NULL;        p1指针不指向内存中的任何1块空间

OC类指针用niL              Person*p1=nil;       p1指针不指向任何对象

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

lcannal

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值