阿摩線上測驗 登入

申論題資訊

試卷:107年 - 107 身心障礙特種考試_四等_資訊處理:資料處理概要#68676
科目:資料處理
年份:107年
排序:0

題組內容

一、試說明下列問題:

申論題內容

⑵一般在程式執行副程式呼叫時,通常會使用那種資料結構?(5 分)

詳解 (共 3 筆)

詳解 提供者:盛盛
一般是使用堆疊來實作。最早呼叫的副程式會先置入堆疊。若在程式內有再呼叫其他副程式,會再置入上方的堆疊。執行順序會先完成上方較晚呼叫的副程式,再完成先前呼叫的副程式。
詳解 提供者:hchungw

在程式執行副程式(函數)呼叫時,通常會使用**堆疊(Stack)**資料結構。以下是簡單的說明:

  1. 堆疊的特性

    • 後進先出(LIFO,Last In First Out):最新放入的元素最先被取出。
    • 適合用來管理程式的函數調用和返回過程。
  2. 函數呼叫過程中的堆疊操作

    • 呼叫函數時
      • 將當前函數的狀態(包括返回地址、局部變數等)保存到堆疊中。
      • 創建新的堆疊幀來保存被調用函數的狀態。
    • 函數返回時
      • 從堆疊中彈出被調用函數的堆疊幀。
      • 恢復之前函數的執行狀態。
  3. 支持遞歸

    • 每次遞歸調用都創建一個新的堆疊幀,保存該調用的狀態。
    • 基礎情況(Base Case)達到後,逐層返回,彈出相應的堆疊幀。
詳解 提供者:Lin Jai Shing
堆疊(Stack)