您好,登錄后才能下訂單哦!
零值指針:是值是0的指針,沒有存儲任何內存地址的指針,可以是任何一種指針類型,可以是通用變體類型void也可以是char,int*等等。
空指針:NULL 是一個標準規定的宏定義,用來表示空指針常量,其實空指針只是一種編程概念,就如一個容器可能有空和非空兩種基本狀態,而在非空時可能里面存儲了一個數值是0,因此空指針是人為認為的指針不提供任何地址訊息。
在C++里面我們認為0指針就是空指針
野指針:指向垃圾內存的指針,與空指針不同,野指針無法通過簡單地判斷是否為 NULL避免,而只能通過養成良好的編程習慣來盡力減少。對野指針進行操作很容易造成程序錯誤。
野指針產生的原因:
(1)指針變量沒有初始化,任何指針變量剛被創建時不會自動成為NULL指針,它的缺省值是隨機的;
(2)指針被delete或者free之后沒有置為空,讓人誤以為該指針是合法的
(3)指針操作超越了變量的范圍。不要返回指向棧內存的指針或引用,因為棧內存在函數結束時會被釋放。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。