首頁  >  文章  >  後端開發  >  使用“if(pointer)”而不是“if(pointer != NULL)”檢查非空指標是否安全?

使用“if(pointer)”而不是“if(pointer != NULL)”檢查非空指標是否安全?

Barbara Streisand
Barbara Streisand原創
2024-11-04 01:01:03744瀏覽

Is it Safe to Check for Non-Null Pointers with `if(pointer)` Instead of `if(pointer != NULL)`?

檢查非空指針:if(pointer) 與if(pointer != NULL)

問題:

使用if(pointer) 而不是傳統的if(pointer != NULL) 來驗證指標的非空狀態是否可以接受?

答案:

是的,這是允許的。使用 if(pointer) 是安全的,因為空指標會隱式轉換為布林值 false,而非空指標會轉換為 true。此行為在C 11 標準的布林轉換部分中定義:

「算術、無範圍枚舉、指標或指向成員類型的指標的純右值可以轉換為bool 類型的純右值。零value 、null 指標值或null 成員指標值轉換為false 任何其他值都會轉換為true。

以上是使用“if(pointer)”而不是“if(pointer != NULL)”檢查非空指標是否安全?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn