阿摩線上測驗 登入

申論題資訊

試卷:111年 - 111 身心障礙特種考試_三等_資訊處理:程式語言#107554
科目:程式語言
年份:111年
排序:0

申論題內容

二、請說明函式之間的呼叫方式,其實際參數(actual parameter)與形式參數 (formal parameter)的傳送有那幾種?並撰寫對應的程式片段加以說明。(25 分)

詳解 (共 2 筆)

詳解 提供者:WJ

形式參數: 定義函式時的參數
實際參數: 實際呼叫函式時傳入的參數

傳送種類:
1. pass by value: 複製參數的值進去,在函式裡的運作結果不會影響到原本的變數
2. pass by address: 傳送參數的記憶體位址進去
3. pass by reference: 在c++中有reference的用法,對變數取別名,兩個看起來不同名稱的變數但實際上是同一塊記憶體
4. pass by result: 函式中隊形式參數的變更在函式結束後會傳回實際參數
5. pass by value-result: 第1項與第4項的結合,會複製實際參數的值進去,在函式運作結束後形式參數的值會回傳給實際參數

詳解 提供者:hchungw

函式之間的呼叫方式及參數的傳送方式是程式設計中的重要概念。這些概念可以幫助理解函式如何接收和處理資料。在這裡,我們將探討實際參數(Actual Parameter)與形式參數(Formal Parameter)的傳送方式,並通過程式片段來說明。

函式呼叫方式

  1. 值傳遞(Pass by Value)

    • 定義:將實際參數的值複製一份傳遞給函式。函式內部對參數的修改不會影響到外部的實際參數。
    • 示例:C# 和 Java 都默認使用值傳遞。
  2. 引用傳遞(Pass by Reference)

    • 定義:將實際參數的引用(記憶體地址)傳遞給函式。函式內部對參數的修改會直接影響到外部的實際參數。
    • 示例:C# 中可以使用 ref 或 out 關鍵字實現引用傳遞。
  3. 引用值傳遞(Pass by Value of Reference)

    • 定義:傳遞的是對象的引用,但本質上是值傳遞。對象本身可以被修改,但引用的變更不會影響到外部的實際參數。
    • 示例:在 C# 和 Java 中,物件型別(如陣列和自定義對象)是通過這種方式傳遞。