(请教)NULL和0的区别
VC6.0中编辑C文件:int *p=NULL;
之后为何可以if(p==0)没问题,而if(p==100)却有问题呢?0是整形,怎么可以和指针比较呢?
#ifndef NULL
#ifdef __cplusplus
#define NULL 0
#else
#define NULL ((void *)0)
#endif
#endif
这个是来自stddef.h文件中的,把NULL定义为(void*)0(非c++环境下)
我实在不能理解为何p=NULL,又可以等于0