遞迴程序(recursive procedures)是一種常見的編程方式,但如果一個程式中出現大量的遞迴程序呼叫,常會因為遞迴呼叫的深度過深,而造成記憶體使用量過大超出可用範圍。在此所指的記憶體,指的是下列那個區塊?
A文字部分(text segment)
B靜態數據部分(static data segment)
C動態數據部分(dynamic data segment)
D堆疊部分(stack segment)正確答案
答案與詳解
每次函式呼叫會在 stack 推入一個 stack frame(含參數、區域變數、返回位址)。遞迴太深 → stack 爆掉 → stack overflow。
