【C語言】內存操做經典問題分析,野指針的初步探析!

野指針

    ● 指針變量中的值是非法的內存地址,進而造成野指針;編程

    ● 野指針不是 NULL 指針,是指向不可用內存地址的指針;數組

    ● NULL 指針並沒有危害,很好判斷,也很好調試;函數

    ● C 語言中沒法判斷一個指針所保存的地址是否合法。學習

 

野指針的由來

    ● 局部指針變量沒有被初始化;spa

    ● 指針所指向的變量在指針以前被銷燬(返回局部變量地址或數組);3d

    ● 使用已經釋放過的指針;指針

    ● 進行了錯誤的指針運算;調試

    ● 進行了錯誤的強制類型轉換。視頻

 

實例分析: 野指針初探


 

輸出:blog

段錯誤

 

基本原則

    ● 毫不返回局部變量和局部數組的地址;

    ● 任何變量在定義後必須 0 初始化;

    ● 字符數組必須確認 0 結束符後才能成爲字符串;

    ● 任何使用與內存操做相關的函數必須指定長度信息。

 

實例分析: 無處不在的野指針


 

小結

內存錯誤是實際產品開發中最多見的問題,然而絕大多數的 bug 均可以經過遵循基本的編程原則和規範來避免.

所以,在學習與使用的時候要牢記和理解內存操做的基本原則,目的和意義。


 

最後,無論你是轉行也好,初學也罷,進階也可,若是你想學編程~

【值得關注】個人 C/C++編程學習交流俱樂部!【點擊進入】

問題答疑,學習交流,技術探討,還有超多編程資源大全,零基礎的視頻也超棒~

相關文章
相關標籤/搜索