2 2

分享

C++ 新手教學9

函式(Function)、傳值法、傳位址法、傳參考法
函式 新手教學 c語言

匿名李

函式(Function)

  • 通常由一個回傳型別(return type)、一個名稱、以及0或多個傳入參數組成
基本形式
  

type 函式名稱(傳入參數){

       程式內容;

        return 回傳結果;

}

備註:“回傳結果”的資料型別會與一開始定義的函式型別相同

函式呼叫

  • 透過呼叫運算子'()'來執行函式,裡面放入引數(argument)來初始化函數,若有多個引數則由逗號(,)區隔
  

函式名稱(引數(argument));

備註:每個引數的型別(type)都必須符合對應的函式參數

int main()

主程式
  • 回傳型別:int
  • 函式名稱:main
  • 傳入參數:無

Void型別

沒有回傳值
  • 函式的某些功能並不需要回傳值,所以型別就用Void

常見呼叫失敗的原因

  • 引數型別有誤
  • 引數太少
  • 引數過多

例如1(基本函式與呼叫):
  • 回傳型別:int
  • 函式名稱:sum
  • 傳入參數:int a、int b
函式(兩數相加)
  

int sum(int a,int b){

        return a+b;

}

呼叫函式( sum(a,b) )
  

sum(1,2);

函式 新手教學 c語言

sum(a,b)

Output
  

3




不同的傳入參數與引數

  • 引數的功能在於初始化函數,參數在函式裡被更改,引數並不會跟著改變(除非使用傳位址法、傳參考法,直接對本身進行運算)
  1. 傳值法 ( call by value )
  2. 傳位址法 ( call by address )
  3. 傳參考法 ( call by reference )
例如2(傳值法):
傳入num的值,初始化 a = num
  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int a
函式 新手教學 c語言

傳值法,傳入int a

Output
  

a = 10

num = 5

例如3(傳位址法):
傳入num的位置,使用間接運算子(*),取得該位址的值進行運算
  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int* a
函式 新手教學 c語言

傳位址法,傳入num的位置

Output
  

a = 10

num = 10

例如4(傳參考法):
傳入num的參考,num 的別名是a,對a進行運算就等於對num進行運算
  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int &a
函式 新手教學 c語言

傳參考法,傳入int &a

Output
  

a = 10

num = 10


參考資料

[1]. C++Primer中文版-Stanley B. Lippman, Josée Lajoie, Barbara E. Moo著; 黃銘偉 譯; 碁峰出版; 2019/11/30。
#函式  #新手教學  #c語言 
分類:學習

【關鍵字】:新手教學、Leetcode ; 【分類】:學習、理財。(目前C++新手教學第二章內容已完結)。建議或意見可私訊:https://reurl.cc/ze7L9k。文章有錯誤的地方還請留言指正,謝謝各位

評論
上一篇
  • 20. Valid Parentheses (C++)
  • 下一篇
  • C++ 新手教學10
  • 更多文章
    載入中... 沒有更多了