民國104年 第1梯次 電腦軟體應用乙級 學科

第20題

在實作副程式( S u b r o u t i n e ) 呼叫時,需使用何種資料結構來處理返回呼叫程式的位址?

題目

在實作副程式( S u b r o u t i n e ) 呼叫時,需使用何種資料結構來處理返回呼叫程式的位址?

  1. (1) L i n k e d l i s t
  2. (2) S t a c k
  3. (3) T r e e
  4. (4) Q u e u e

官方答案

(2) S t a c k

解析

副程式呼叫(Subroutine Call)時,系統需記錄呼叫點的返回位址,以便在副程式執行完畢後能回到原程式繼續執行。這種「後呼叫先返回」的特性,正好符合堆疊(Stack)後進先出(LIFO)的資料結構,因此電腦使用堆疊來保存返回位址與函式呼叫的區域變數(即呼叫堆疊 Call Stack)。Linked list 是鏈結串列,Tree 是樹狀結構,Queue 是佇列(先進先出),皆不適合處理返回位址的保存與回復。故答案為 Stack。

AI 參考解析(推得答案已與官方答案比對一致),非官方公告內容,僅供備考參考。

官方資料