5招教你避免野指標

2021-07-15 05:55:47 字數 666 閱讀 7491

5招教你避免野指標

招式一:在定義乙個指標時,若指標無指向,設定為null

舉例如下圖所示:

輸出效果為:

那麼什麼叫作空指標呢?

在c語言中,是這麼定義的,#define null (void *)0

該0位址是不允許操作,也不允許訪問的;所以指標指向空時,既不允許訪問,也不允許修改;而且在**有錯時,可以很方便的除錯出來;

下面我們看一段程式:

毫無疑問,該段程式是有野指標的,那到底如何對它改進呢,我們接著往下看:

招式四:動態分配記憶體申請必須要與釋放相配對,即使用完一次malloc就要用一次free釋放掉。

招式五:釋放掉記憶體後,不要忘記將指標置為null,因為指標也會帶有「記憶性」。

如何避免野指標?

野指標是指隨機訪問了記憶體空間,歸根到底是由於不良的編碼習慣,有個良好的程式設計習慣是避免 野指標 的唯一方法。如何避免野指標 1 初始化 char p null 為何賦值為 null 一是null 是乙個巨集,高亮,檢查段錯誤的時候比較顯眼。二是 null 為值,不能對 null 值賦值或者訪問。...

野指標如何避免

先看一段 struct student stu,pstu int main void 這是很多人都容易犯的錯誤 定義了結構體變數stu,但結構體內部的char name在定義結構體時只是為其分配了4位元組的記憶體,沒有指向乙個合法的位址,這時其指標指向的區域只是一些亂碼,有事還沒有訪問許可權。這就是...

什麼是野指標?如何避免野指標?

野指標不是 null指標,它是隨即指向一塊記憶體的指標。野指標是很危險的,會導致記憶體洩漏,if語句對它不起作用。導致野指標的原因有兩種 1 野指標指向了一塊沒有訪問許可權的記憶體。即指標沒有初始化 2 野指標指向了乙個已經釋放的記憶體。因為野指標是因為我們的不良程式設計習慣造成的,所以我們養成良好...