問題詳情
40 遞迴程序(recursive procedures)是一種常見的編程方式,但如果一個程式中出現大量的遞迴程序呼叫,常會因為遞迴呼叫的深度過深,而造成記憶體使用量過大超出可用範圍。在此所指的記憶體,指的是下列 那個區塊?
(A)文字部分(text segment)
(B)靜態數據部分(static data segment)
(C)動態數據部分(dynamic data segment)
(D)堆疊部分(stack segment)
參考答案
答案:D
難度:簡單0.744
書單:沒有書單,新增
用户評論
【Zong】評論
遞迴程序中的記憶體使用問題通常指的是堆疊部分(stack segment)。當遞迴程式被呼叫時,系統會為函式中的本地變數和函式參數等資料分配堆疊空間,每當遞迴深度增加時,就會分配更多的堆疊空間。如果遞迴深度過深,就會超出堆疊的可用範圍,造成記憶體使用量過大的問題。