阿摩線上測驗 登入

申論題資訊

試卷:100年 - 100 高等考試_三級_資訊處理:程式語言#26905
科目:程式語言
年份:100年
排序:0

題組內容

四、

申論題內容

⑶程式語言以何種資料結構維護函式呼叫的順序?每一個啟動紀錄(activation record)所記錄的兩個主要內容為何?(12 分)

詳解 (共 1 筆)

詳解 提供者:114年高考上榜

程式語言通常使用堆疊(stack)來維護函式呼叫的順序。當一個函式被呼叫時,系統會創建一個新的啟動紀錄(activation record),也被稱為函式框架(function frame),並將其推到堆疊的頂部。該啟動紀錄中包含函式呼叫所需的所有相關信息,例如函式的參數、區域變量、返回地址等等。當函式執行完畢時,系統會從堆疊的頂部彈出該啟動紀錄,並返回到呼叫該函式的位置繼續執行。

 
每個啟動紀錄通常包含以下兩個主要內容:
 
函式的參數和區域變量:這些是函式執行期間使用的變量。它們在啟動紀錄中被保存,並在函式執行期間使用。當函式返回時,這些變量的值通常會被銷毀。
 
返回地址:這是一個指向調用該函式的指令的指針。當函式執行完畢時,系統將使用此指針返回到調用該函式的位置繼續執行。返回地址通常也保存在啟動紀錄中