民國112年 第3梯次 儀表電子乙級 學科
第32題
副程式的呼叫與回返,會使用下列哪一種資料結構?
題目
副程式的呼叫與回返,會使用下列哪一種資料結構?
- (1) 堆疊(stack)
- (2) 貯列(queue)
- (3) 樹狀(tree)
- (4) 環狀(ring)
官方答案
(1) 堆疊(stack)
解析
副程式(subroutine)呼叫時,CPU 需將返回位址(及暫存器狀態)保存,待副程式執行完再依序取回繼續原流程,此「後進先出(LIFO)」特性正符合堆疊(stack)結構。呼叫時 push 返回位址,回返時 pop,因此堆疊用於管理呼叫層次與遞迴。貯列(queue)為先進先出(FIFO),適用排程與緩衝;樹狀(tree)用於階層資料;環狀(ring)常用於循環緩衝。故副程式呼叫與回返使用的是堆疊。此亦解釋遞迴過深會造成 stack overflow——因堆疊空間耗盡所致。
AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。