在 C 中使用 NULL 或 0 作為指標:個人偏好還是客觀原因?
在 C 的早期,是否存在的問題使用 NULL 或 0 作為空指標的表示是一個實際的困境。然而,隨著語言的發展,這個決定已經演變成更多的偏好問題。
零與NULL
歷史上,有些程式設計師使用0 作為空指針,而其他人則喜歡符號常數NULL,它被定義為值為0的空指針。後一種方法作為避免與數字混淆的方法而受到歡迎。
然而,正如Stroustrup 在他的C 風格和技術常見問題解答中解釋的那樣,「在C 中,NULL 的定義是0,因此僅存在美學差異。」這意味著0 和NULL 的計算結果相同。
個人偏好
0 和 NULL 之間的選擇最終歸結為個人偏好。一些程式設計師認為,在布林上下文中使用 0 更有意義,因為它允許進行邏輯比較,例如 if (p && !q)。相反,其他人更喜歡 NULL 來明確指示空值並避免潛在的誤解。
C 11 及以後
隨著 C 11 的引入,一個新的關鍵字 nullptr ,是專門為表示空指標而建立的。 nullptr 提供型別安全性,可以用來取代 0 和 NULL,提供更一致和明確的解決方案。
結論
雖然沒有硬性規則使用 NULL 或 0,通常不是主要問題。關鍵是保持程式碼庫內的一致性並使用最適合程式設計師的偏好和風格的方法。
以上是C 中指標的 NULL 或 0:偏好還是客觀必要性?的詳細內容。更多資訊請關注PHP中文網其他相關文章!