您好,登錄后才能下訂單哦!
本篇內容介紹了“c語言怎么避免野指針產生”的有關知識,在實際案例的操作過程中,不少人都會遇到這樣的困境,接下來就讓小編帶領大家學習一下如何處理這些情況吧!希望大家仔細閱讀,能夠學有所成!
1、初始化NULL時間。指標變量必須初始化為NULL。
因為剛創建時,除了static修飾的指針變量外,任何指針變量都不會自動變成NULL指針,其默認值是隨機的。
2、釋放時置NULL。指標p的值是NULL,而指針p所指的內存空間被釋放。
delete和free簡單地釋放了內存空間,但指針p的值不是NULL。
一般情況下,用if語句測試指針是否為NULL來判斷指針是否合法。
實例
#include<stdlib.h> #include<stdio.h> void main() { int *p = new int(6); printf("釋放內存之前 p:%p\n", p); //delete 釋放內存 delete p; if (p != NULL) //delete 之后指針指向未知/隨機內存 printf("釋放內存之后 p:%p\n", p); //*p = 7; //操作未知/隨機的內存地址,程序異常崩潰 system("pause"); } /* 輸出: 釋放內存之前 p:016950E8 釋放內存之后 p:00008123 請按任意鍵繼續. . . */
“c語言怎么避免野指針產生”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識可以關注億速云網站,小編將為大家輸出更多高質量的實用文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。