if(p)和if(!p)含义
对于 int *p;
来说
1 2
| if (!p) ==> if (p == NULL) if (p) ==> if (p != NULL)
|
对于 int p;
来说
1 2
| if (!p) ==> if (p == 0) if (p) ==> if (p != 0)
|
在c语言中,0 被认为是假,非0 被认为是真
如果p的值为0,!p判定为真;
如果p的值不是0,!p的判定为假
如果是一个指针,指针有内容,即:p的值不是0,!p的判定为假
如果指针没有内容,NULL,即:p的值为0,!p判定为真;