2 回答

TA貢獻(xiàn)3條經(jīng)驗(yàn) 獲得超1個(gè)贊
外部變量存儲(chǔ)在數(shù)據(jù)段中,內(nèi)部變量(局部變量)存儲(chǔ)在堆棧中。局部變量是動(dòng)態(tài)申請(qǐng)空間,即調(diào)用函數(shù)時(shí)動(dòng)態(tài)生成,函數(shù)結(jié)束時(shí)釋放,因此,它的作用域在函數(shù)中。外部變量和靜態(tài)變量存儲(chǔ)在數(shù)據(jù)段中,運(yùn)行程序時(shí)存在,程序運(yùn)行結(jié)束時(shí)才結(jié)束。在設(shè)計(jì)程序時(shí)盡量避免使用全局變量或靜態(tài)變量,使得程序可移植度高。

TA貢獻(xiàn)34條經(jīng)驗(yàn) 獲得超34個(gè)贊
使用外部變量,當(dāng)程序規(guī)模達(dá)到一定程度的時(shí)候,可能存在與局部變量重名等問(wèn)題。
外部變量作用方位很廣,它增加了程序各功能塊直接的耦合度(不符合高內(nèi)聚低耦合原則)。
某個(gè)函數(shù)中假設(shè)使用了外部變量,當(dāng)想要將這個(gè)函數(shù)移植到其它程序中去的時(shí)候,由于其它程序沒(méi)有該函數(shù)使用的外部變量,會(huì)導(dǎo)致函數(shù)失效,失去通用性。
總之,外部變量能不用盡量不用,函數(shù)各功能塊之間應(yīng)該通過(guò)傳參數(shù)和返回值來(lái)達(dá)到數(shù)據(jù)交互的效果。
- 2 回答
- 0 關(guān)注
- 1427 瀏覽
添加回答
舉報(bào)