怎麼避免野指標 面試題)

2021-07-25 03:13:09 字數 445 閱讀 8294

野指標產生的原因:系統隨機分配一塊記憶體。

野指標造成的錯誤:記憶體洩露,但是不一定每次都會產生段錯誤(因為偶爾一次隨機分配的記憶體是已經申請過的)。

如何避免野指標:

1.當乙個指標沒有指向的時候,要給這個指標賦空。

int *p=null;

2.當要給乙個指標指向的空間賦值時,要檢查這個指標是否是否分配空間。

3.當要給乙個指標分配空間時,要判斷是否分配空間成功。

if(p = null)

printf("malloc reeor!\n")'

exit(1);

4.當要使用此空間時,要初始化此空間。

memset(p,0,sizeof(int);

5.當使用這個空間,要釋放此空間。

free(p);

6.結束後,這個指標又是野指標,要再次賦空。

p=null;

面試題 野指標的成因,危害以及避免方法?

概念 野指標指向了一塊隨機記憶體空間,不受程式控制。如指標指向已經被刪除的物件或者指向一塊沒有訪問許可權的記憶體空間,之後如果對其再解引用的話,就會出現問題。野指標產生的原因 1 指標定義時未被初始化 指標在被定義的時候,如果程式不對其進行初始化的話,它會指向隨機區域,因為任何指標變數 除了stat...

如何避免野指標?

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

野指標如何避免

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