天天看點

PTA段錯誤解決方法

什麼是段錯誤?

一旦一個程式通路了不可通路的記憶體,(這個記憶體區可能是不存在的,或者是是受到系統保護的,或者是缺少檔案或檔案損壞。)

cpu 就會産生相應的保護,就會報錯segmentation fault

解決方法(僞)

出現段錯誤時,首先應該想到段錯誤的定義,從它出發考慮引發錯誤的原因。

在使用指針時:

定義後:記得初始化指針

使用時:記得判斷是否為 NULL

在使用數組時:

注意數組是否被初始化

注意數組下标是否越界

注意數組元素是否存在

在通路變量,注意變量所占位址空間是否已經被程式釋放掉

在處理變量時,注意變量的格式控制是否合理等

常見産生原因

建立了空指針,試圖通路它的值

非關聯化一個空指針,然後配置設定(寫一個值到一個不存在的目标)

即:

malloc 動态配置設定記憶體,釋放、置空完成後,再使用該指針。

比如: