Any time a pointer is used as a condition, it means ?Is this a non-null pointer?? A pointer can be used in an if, while, for, or do/while statement, or in a conditional expression.
A pointer in an if statement is normal, and may have many meanings, not just limited to non-null. It may mean - whether two pointers are the same; - whether the pointer pointed value is a special value, like if((*p)==1); - if the pointer is char *, more string related function calling may appeared, like if(strcmp(a,b))