關(guān)于動(dòng)態(tài)存儲(chǔ)分配,下列說法正確的是
關(guān)于動(dòng)態(tài)存儲(chǔ)分配,下列說法正確的是
A.new 和 delete是C++語言中專門用于動(dòng)態(tài)內(nèi)存分配和釋放的函數(shù)
B.動(dòng)態(tài)分配的內(nèi)存空間也可以被初始化
C.當(dāng)系統(tǒng)內(nèi)存不夠時(shí),會(huì)自動(dòng)回收不再使用的內(nèi)存單元,因些程序中不必用delete釋放內(nèi)存空間
D.當(dāng)動(dòng)態(tài)分配內(nèi)存失敗時(shí),系統(tǒng)會(huì)立刻崩潰,因此一定要慎用new
正確答案:B解析:本題考核動(dòng)態(tài)存儲(chǔ)分配。用于動(dòng)態(tài)分配的內(nèi)存空間稱為堆內(nèi)存,它通常由操作系統(tǒng)進(jìn)行管理且數(shù)量有限,其內(nèi)存空間可以被初始化。若程序不斷分配堆內(nèi)存,則可能耗盡,在這種情況下,系統(tǒng)無法再對(duì)new提出的內(nèi)存分配請(qǐng)求給予滿足,此時(shí) new會(huì)返回空指針NULL,表示動(dòng)態(tài)存儲(chǔ)分配操作失敗,不會(huì)造成系統(tǒng)崩潰。在C++程序中由new分配的動(dòng)態(tài)內(nèi)存空間必須通過delete運(yùn)算符釋放。
詞條內(nèi)容僅供參考,如果您需要解決具體問題
(尤其在法律、醫(yī)學(xué)等領(lǐng)域),建議您咨詢相關(guān)領(lǐng)域?qū)I(yè)人士。