c語言野指標

2021-07-25 02:39:25 字數 522 閱讀 2258

1.什麼是野指標

野指標是隨機指向一塊記憶體的指標,容易造成記憶體洩露。但不一定每次都會產生段錯誤,因為可能分配到已經分配或申請過的位址。

2.如何避免野指標

避免野指標需要養成一下良好的編碼習慣:

(1)當指標沒有指向時,給它置為空

(0位址

null)

;因為在作業系統中,不能對0位址進行任何操作

;置為空

也能引起注意

,不能對

指向的空間進行

操作。(2)當要給指標指向的空間賦值時,一定要給這個指標分配空間。

int *p = malloc(

sizeof

(int));

(3)當給指標分配空間時,要檢查空間是否分配成功。

(4)分配成功之後,要給記憶體初始化。

memset(p, 0, sizeof(int));

(5)用完後要釋放記憶體空間。

free(p);

(6)釋放完後要再次置空。

p = null;

C語言野指標分析

1.野指標的概念 所謂的野指標,就是說指標指向的那塊記憶體,你沒有合法操作的許可權,也就是指標指向非法的記憶體空間,這樣的指標就叫做野指標。2.野指標產生的原因 1 指標變數未初始化 任何指標變數剛被建立時不會被自動置為null,它的預設值是隨機的,所以這塊記憶體,所以指標變數在建立時,要麼初始化讓...

C語言記憶體(野指標 )

1.堆 在鍊錶中找接近4位元組的空間,發現 5位元組接近 4位元組,將 5位元組給程式。2.靜態儲存區 編譯時就存在 儲存全域性變數和靜態區域性變數 3.野指標 1 區域性指標變數沒有初始化 struct student char name int number int main struct st...

C語言中野指標總結

野指標是什麼?野指標是如何產生的?有什麼危害?如何避免野指標?是什麼 野指標是什麼?野指標,就是指標指向的位置是不可知的 隨機的 不正確的 沒有明確限制的 很可能觸發執行時段錯誤 sgmentation fault 例如 int p 區域性變數,分配在棧上,棧反覆被使用,所以 值是隨機的 print...