首頁 > 後端開發 > C++ > C 中的 NULL 與 0:哪一個是更好的空指標?

C 中的 NULL 與 0:哪一個是更好的空指標?

Barbara Streisand
發布: 2024-12-14 19:00:15
原創
738 人瀏覽過

NULL vs. 0 in C  : Which is the Better Null Pointer?

C 中的指標:NULL 與0

在C 程式設計史上,爭論很激烈:應該使用NULL 還是0 (零)空指針?雖然有些程式設計師堅持使用 0 的傳統,但其他程式設計師卻堅信 NULL。但哪種方法真正比較優越?

最初,NULL 在 C 中是不可用的,因為它的定義為 (void*)0。然而,隨著 C 11 的出現,遊戲規則發生了變化。現在,NULL 被明確定義為 0,使其在功能上與對應的數值相同。

0 的擁護者認為,這是測試真值的更合乎邏輯的選擇。如所提供的程式碼片段所示,零自然適合使用 if (p && !q) 等運算子的邏輯比較。另一方面,使用 NULL 需要與 NULL 進行明確比較,除非您假設 NULL 等於 0,這違反了命名它的目的。

Bjarne Stroustrup,C 的創建者,已經權衡了這個問題,指出 NULL 和 0 之間的選擇很大程度上是為了美觀。然而,他偏愛 0,因為他傾向於避免宏以及與 NULL 相關的潛在誤解。

最終,NULL 和 0 之間的決定取決於個人喜好。兩種方法都有其優點,因此請選擇最適合您的程式設計風格的一種。然而,值得注意的是,C 11 專門為此目的引入了關鍵字 nullptr,因此為了清晰和一致性,值得考慮使用它。

以上是C 中的 NULL 與 0:哪一個是更好的空指標?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
作者最新文章
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板