据我所知,NULL实际上不是0.所以将指针与0或NULL进行比较有什么不同吗? 进一步应该是正确的用法。谢谢!
答案 0 :(得分:4)
正确用法是使用NULL
:它更具可读性(p = NULL
- >您知道p
是指针)
答案 1 :(得分:4)
在C中,宏NULL被定义为实现定义的空指针常量,它在C99中可以可移植地表示为隐式或显式转换为类型void*
的整数值0。
在C ++中,NULL是零(0
或0L
)的整数文字,传统上更倾向于表示空指针常量。
如果与指针进行比较,编译器会隐式将0
转换为NULL
。
将0
与NULL
进行比较始终是安全的。
答案 2 :(得分:-1)
NULL不一定是0,只能用于指针。 NULL是一个宏,通常定义为(void *)0但并非总是如此。
这是指向内存中没有位置的指针。
有一本非常好的新书叫做理解和使用C指针。请阅读那个。
除了指针外,不要使用它。