当把一个指针作为条件表达式时,所要判断的条件实际上就是“该指针是否为一空指针”。在if,while,for或do/while等语句中,或者在条件表达式中,都可以使用指针。请看下例:
- if(p)
- {
- /*do something*/
- }
- else
- {
- /* do something else */
- }
当条件表达式的值不等于零时,if语句就执行“then”子句(即第一个子句),即“if(/*something*/)”和“if(/*something*/!=0)”是完全相同的。因此,上例和下例也完全相同:
- if(p !=0)
- {
- /* do something(not anull pointer)*/
- }
- else
- {
- /* do something else(a null pointer)*/
- }
以上两例中的代码不易读,但经常出现在许多C程序中,你不必编写这样的代码,但要理解这些代码的作用。