嵌入式面試題:如何避免“野指針”
時間:2019-04-04 00:00:00
來源:信盈達(dá)
作者:信盈達(dá)
“野指針”產(chǎn)生原因及解決辦法如下:
(1)指針變量聲明時沒有被初始化。解決辦法:指針聲明時初始化,可以是具體的地址值,也可讓它指向NULL。
(2)指針 p 被 free 或者 delete 之后,沒有置為 NULL。解決辦法:指針指向的內(nèi)存空間被釋放后指針應(yīng)該指向NULL。
(3)指針操作超越了變量的作用范圍。解決辦法:在變量的作用域結(jié)束前釋放掉變量的地址空間并且讓指針指向NULL。
注意:“野指針”的解決方法也是編程規(guī)范的基本原則,平時使用指針時一定要避免產(chǎn)生“野指針”,在使用指針前一定要檢驗指針的合法性。