相关疑难解决方法(0)

在Objective-C中测试nil - if(x!= nil)vs if(x)

我在网上找到的大多数例子都写道:

if(x != nil)
    // ...
Run Code Online (Sandbox Code Playgroud)

这有什么问题吗?

if(x)
    // ...
Run Code Online (Sandbox Code Playgroud)

我在一个简单的程序中尝试了两个,但没有找到任何区别.

syntax objective-c

71
推荐指数
2
解决办法
4万
查看次数

什么时候NULL宏不是0?

我隐约记得几年前读过这篇文章,但我在网上找不到任何参考.

你能给我一个NULL宏没有扩展到0的例子吗?

编辑清晰:今天,它扩展为((void *)0),(0)(0L).但是,有些架构早已被遗忘,而这种情况并非如此,并且NULL扩展到了不同的地址.就像是

#ifdef UNIVAC
     #define NULL (0xffff)
#endif
Run Code Online (Sandbox Code Playgroud)

我正在寻找这样一台机器的例子.

更新以解决问题:

我不是在现行标准的背景下提出这个问题,也不是用不正确的术语来扰乱人们.但是,我接受的答案证实了我的假设:

后来的模型使用了[blah],显然是对所有现存的写得不好的C代码的反应,这些代码做出了错误的假设.

有关当前标准中的空指针的讨论,请参阅此问题.

c macros null history

33
推荐指数
2
解决办法
1万
查看次数

2
推荐指数
1
解决办法
176
查看次数

标签 统计

objective-c ×2

c ×1

history ×1

ios ×1

macros ×1

null ×1

syntax ×1