C/C++中的 if(指针变量) 和 if(!指针变量)


if(指针变量)

当把一个指针作为条件表达式时,所要判断的条件实际上就是“该指针是否为一空指针”。
在if,while,for或do/while等语句中,或者在条件表达式中,都可以使用指针。

代码演示 if(指针变量)

解读代码

if (指针) {
    // 不是空指针 执行这个
}else {
    //指针 是一个空指针, 执行这个
}

if(!指针变量)

解读代码

注意看上面,我让她打出的是p 不是pointer!

if (!指针) {
    // 如果指针是空指针  !指针后 那么条件就成立了。也就是会执行这个地方的语句
}else {
     // 如果指针不是空指针  !指针后 那么条件相当于false了。也就是会执行这个地方的语句
}

总结

if(指针)
主要用来判断如果指针非空指针的时候,进行需要的操作

if(p){
    //指针不为空,满足我们需要的条件,继续进行需要的操作
    //xxxxx 
}else {
     // 指针为空了,进行相应的操作,终止操作,结束程序之类的。
}

if(!指针)
主要用来判断如果指针是空指针的时候,进行出错处理和return 出去。说明有错误了


if(!p){
// 只有指针为空,才会进入此部分,那么进行出错处理之类的。
 // xxxxx 
} else {
     // 一般没有else
}

替代方案。推荐写法!!!!!

如果没有写习惯,是不是很不习惯!对的,我感觉有点反常人类思维。

下面的是不是更加清晰好理解呢。 一看就明白去哪个分支去执行。

if (nullptr == p) {
    //
} else {
    // 
}
if (nullptr != p) {
    //
} else {
    // 
}


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM