天天看點

《編寫高品質代碼:改善c程式代碼的125個建議》——建議18-4:指針變量應該用“==”或“!=”與NULL進行比較

本節書摘來自華章計算機《編寫高品質代碼:改善c程式代碼的125個建議》一書中的第3章,建議18-4,作者:馬 偉 更多章節内容可以通路雲栖社群“華章計算機”公衆号檢視。

在c語言中,定義指針變量時一定要同時初始化該指針變量,如下面的示例代碼所示:

這裡需要特别注意的是,盡管null 的值與0 相同,但是兩者意義卻不相同。是以,在我們将指針變量與0值做比較的時候,也應該直接用“==”或“!=”與null進行比較。例如,指針變量p與0值比較的标準if 語句如下面的示例代碼所示:

這樣通過将 p 與null 顯式進行比較,進而強調p 是指針變量。如果我們直接将指針變量p與0值進行比較,就很容易讓人誤解p 是整型變量,如下面的示例代碼所示:

同理,如果寫成下面這種形式,就很容易讓人誤解p 是布爾變量:

繼續閱讀