NSString等于0?

时间:2014-05-17 09:09:40

标签: objective-c nsstring

编码时我偶然发现了以下代码。我想知道它是如何在没有警告的情况下编译的?

NSString *str = 0

记录它会返回(null),因此它不会按字面意思设置字符串。为什么这样做?

2 个答案:

答案 0 :(得分:2)

使用这一行,你将零值赋给一个指针,这只是一个定义空指针的约定,它不会寻址到任何内存。

这里(Why is address zero used for the null pointer?)你讨论了为什么零是c中的空指针约定。

答案 1 :(得分:1)

在C中,通过扩展,Objective-C,0相当于NULLnil以及Nil。它是一个整数,但它可以自由地分配给任何指针类型。