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