1. 程式人生 > >野指標出現的三種情況

野指標出現的三種情況

昨天面試被問到“你瞭解野指標嗎”,我的回答是“野指標就是沒有初始化的指標,這樣的指標會隨機指向一塊記憶體,野指標會對系統造成破壞(造成記憶體洩漏)”。面試官又問到,“為什麼會有野指標這個概念?”。我只是回答了”指標沒有初始化就會變成野指標“。

事實上野指標出現的情況有三種: 1、指標變數未初始化 2、指標釋放之後未置空 3、返回指向棧記憶體的指標

我們如何避免野指標呢?做法如下: ①定義一個指標後將其初始化為NULL。 ②使用指標時先用malloc為指標分配記憶體(在堆空間中分配),檢查空間是否分配成功。 ③記憶體成功分配後對該記憶體空間初始化為0。 ④指標使用完後呼叫free()對指標指向的記憶體空間進行釋放。 ⑤對使用的指標重新賦為NULL。