c語言指標回顧 指標常見錯誤

2021-08-21 21:13:10 字數 514 閱讀 6247

這篇部落格主要總結一下我在使用指標的時候遇到過的各種錯誤

指標變數建立的時候如果沒有初始化,這個時候指標變數的值是乙個隨機值,這個時候通過這個指標訪問記憶體是很危險的,請看下面的**:

#include void main(int argc, char**argv)

還有一種情況是本來對一塊記憶體是有訪問許可權的,但是後面沒了,如果再去訪問的話就會出問題,請看下面的**:

#include #include void main(int argc, char**argv)

*p = 2;

}

動態分配一塊記憶體後再將它釋放,此時p的值依舊是存在的,只是用了free函式後,那一塊記憶體被清空了,讀寫許可權也沒了,這時候的p也可算是野指標,通過p訪問記憶體就會報錯。

作業系統是不會幫你釋放動態分配的記憶體的,如果沒有手動去釋放,那麼就會造成記憶體洩漏,容易造成系統卡頓。

目前我碰到的錯誤主要是這些,後面遇到其它錯誤會更新。

c語言指標回顧 指標基礎

學習c 已經快一年了,最近打算整理一下所學的知識,就當是系統地複習一遍,指標方面包括指標的簡單介紹 使用指標常見的錯誤 指標與陣列 指標與函式 指標陣列和陣列指標。任何剛開始學習c語言的人如果被難住了,那一定是卡在指標這邊了,其實指標並沒有這麼可怕,我這邊就挑兩個重點來講了,如下 1 指標是一種資料...

C語言 變數與指標 回顧

char a 0 鞋櫃型別為char,容量為1。2.0 陣列 chara 6 橫向6個鞋櫃格仔 3.0 二維陣列 chara 5 6 五行六列的鞋櫃 inta 4 5 五行六列的鞋櫃格仔,每個鞋櫃格仔 容量為char型鞋櫃的四倍,容量為4。4.0 陣列指標 inta 5 6 五行六列的鞋櫃,鞋櫃格仔...

C C 常見指標錯誤

1 記憶體分配未成功,卻使用了它。程式設計新手常犯這種錯誤,因為他們沒有意識到記憶體分配會不成功。常用解決辦法是,在使用記憶體之前檢查指標是否為null。如果指標p是函式的引數,那麼在函式的入口處用assert p null 進行檢查。如果是用malloc或new來申請記憶體,應該用if p nul...