在c++中,指针为空是NULL。NULL表示的地址是程序的首地址:0x00000000。
#ifndef NULL
#ifdef _cplusplus
define NULL 0
else
define NULL ((void *)0)
#endif
#undif
在标准c++中规定:在一个指针的类型为0时,都可以认为是一个空指针。(在其他标准下,也可以是1或者2来代替NULL)
例如:vs 2010中
int *p = NULL;
和
int * p = 0;
都是可以编译通过。而且都可以打印出现来的地址值。int *p = 0;是用来说明零指针的意义。零指针也是空指针。
这也是int *p = 5不能通过的原因.