我隐约记得几年前曾读过有关此内容的文章,但在网上找不到任何参考。
您能否举一个NULL宏未扩展为0的示例?
编辑清晰:今天,它扩展为((void *)0)
,(0)
或(0L)
。但是,有些架构早已被人遗忘,但事实并非如此,而NULL扩展到了另一个地址。就像是
#ifdef UNIVAC #define NULL (0xffff)#endif
我正在寻找这种机器的示例。
更新以解决问题:
在当前标准的背景下,我并不是要提出这个问题,也不是要用我不正确的术语来烦扰人们。但是,我的假设已被接受的答案所证实:
后来的模型使用[blah],显然是对所有现存的编写不正确的C代码的一个遗憾。
有关当前标准中的空指针的讨论,请参见此问题。
犯罪嫌疑人X
相关分类