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