1、空指標表示"未分配"或者"尚未指向任何地方"。它與未初始化的指標不同,未初始化的指標可能指向任何地方。每種指標型別都要乙個空指標,而不同型別的空指標的內部可能不盡相同。
2、一般給指標賦值0就是將指標設為空指標(等同設為null)。但是0作為函式引數,傳給指標時需要對0作型別轉換。
3、可以使用if(p)等同於if(p != 0),但是這種風格不好。
4、null實際上是乙個定義在 stdio.h中定義的巨集,代表空指標常數,賦給指標,等同於0。欲處理器把所有null都轉換為0
總結:兩條規則:
(1)當需要使用空指標常數,使用0或者null
(2)當在函式呼叫中使用0或者null用作引數,把它轉換成被調
函式需要的指標型別。
C語言 指標 「空指標」傳參問題
再談一談空指標傳參。寫平衡二叉樹時,因為傳遞進去了乙個結點,而結點指向空,所以無論其他地方怎麼改,都頻頻報錯。對於普通指標,我們要分清如果乙個指標本身是null,那意味著它指向空 但是,指標也是資料,他的二級指標可不是null,而是這塊指標的位址。void changep int p int mai...
C 注意防止指標指向空
例子 static size t sn class employee employee const std string s name new std string s size t getid const std string getname const void print const empl...
C語言的「空指標」與「野指標」
空指標 在c語言裡,泛型程式設計靠void型別來實現。即 一切皆空 那麼void型別的指標,是不是大大的提供了某些方便!在使用void 型別的指標時應該注意一下問題 型別轉換!1 include 2 3 int main 4 以上顯然是錯誤的!因為在強轉時,轉換的是指標型別而不是普通型別。應先解引用...