if(p)和if(!p)含义
对于 int *p; 来说
| 12
 
 | if (!p) ==> if (p == NULL)if (p)  ==> if (p != NULL)
 
 | 
对于 int p; 来说
| 12
 
 | 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判定为真;