C++ 新手教學9

更新於 發佈於 閱讀時間約 4 分鐘

函式(Function)、傳值法、傳位址法、傳參考法

raw-image

函式(Function)

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

基本形式

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

程式內容;

return 回傳結果;

}

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


函式呼叫

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

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


int main()

主程式

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


Void型別

沒有回傳值

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


常見呼叫失敗的原因

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


例如(基本函式與呼叫):

  • 回傳型別:int
  • 函式名稱:sum
  • 傳入參數:int a、int b

函式(兩數相加)

int sum(int a,int b){

return a+b;

}

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

sum(1,2);
raw-image

Output

3



不同的傳入參數與引數

  • 引數的功能在於初始化函數,參數在函式裡被更改,引數並不會跟著改變(除非使用傳位址法、傳參考法,直接對本身進行運算)
  1. 傳值法 ( call by value )
  2. 傳位址法 ( call by address )
  3. 傳參考法 ( call by reference )


例如1(傳值法):

傳入num的值,初始化 a = num

  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int a
raw-image

Output

a = 10
num = 5


例如2(傳位址法):

傳入num的位置,使用間接運算子(*),取得該位址的值進行運算

  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int* a
raw-image

Output

a = 10
num = 10


例如3(傳參考法):

傳入num的參考,num 的別名是a,對a進行運算就等於對num進行運算

  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int &a
raw-image

Output

a = 10
num = 10


參考資料

[1]. C++Primer中文版-Stanley B. Lippman, Josée Lajoie, Barbara E. Moo著; 黃銘偉 譯; 碁峰出版; 2019/11/30。


延伸閱讀

下一篇:C++ 新手教學10 | 方格子 (vocus.cc)

上一篇:C++ 新手教學8 | 方格子 (vocus.cc)

目錄:C++ 新手教學目錄 | 方格子 (vocus.cc)

留言
avatar-img
留言分享你的想法!
avatar-img
匿名李的沙龍
6會員
46內容數
這是新手寫給新手的學習程式語言基礎教學筆記,內容會以C++為主
匿名李的沙龍的其他內容
2021/10/09
這是一個新手寫給新手的新手教學
Thumbnail
2021/10/09
這是一個新手寫給新手的新手教學
Thumbnail
2021/10/09
break、continue、更進一步的for迴圈、while迴圈、switch
Thumbnail
2021/10/09
break、continue、更進一步的for迴圈、while迴圈、switch
Thumbnail
2021/10/09
2021/10/09
看更多
你可能也想看
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
孩子寫功課時瞇眼?小心近視!這款喜光全光譜TIONE⁺光健康智慧檯燈,獲眼科院長推薦,網路好評不斷!全光譜LED、180cm大照明範圍、5段亮度及色溫調整、350度萬向旋轉,讓孩子學習更舒適、保護眼睛!
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
創作者營運專員/經理(Operations Specialist/Manager)將負責對平台成長及收入至關重要的 Partnership 夥伴創作者開發及營運。你將發揮對知識與內容變現、影響力變現的精準判斷力,找到你心中的潛力新星或有聲量的中大型創作者加入 vocus。
Thumbnail
這一篇會介紹非常重要的 JavaScript 函式概念 - 高階函式(Higher-order function),高階函數是將一個或多個函數作為參數,或將一個函數作為結果返回的函數。在本文中,我們將深入探討什麽是高階函數、使用高階函數的好處以及如何在實際應用中使用高階函數,函式導向是什麼?
Thumbnail
這一篇會介紹非常重要的 JavaScript 函式概念 - 高階函式(Higher-order function),高階函數是將一個或多個函數作為參數,或將一個函數作為結果返回的函數。在本文中,我們將深入探討什麽是高階函數、使用高階函數的好處以及如何在實際應用中使用高階函數,函式導向是什麼?
Thumbnail
這篇文章將會介紹函式(Function)及其回傳值(retrun)的定義及介紹。
Thumbnail
這篇文章將會介紹函式(Function)及其回傳值(retrun)的定義及介紹。
Thumbnail
本篇文章將會記錄Microsoft關於數字計算相關的知識,以及紀錄這些計算的專有名詞,補足闕漏的知識。
Thumbnail
本篇文章將會記錄Microsoft關於數字計算相關的知識,以及紀錄這些計算的專有名詞,補足闕漏的知識。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
這篇文章為介紹C#基礎知識的一部分,如果你是直接開始寫程式的C#程式員,可以看看這篇文章補足一些基礎知識。
Thumbnail
雜湊演算法(hash function)。或許你聽過它,但你是否了解它?劍術大師都說要人劍合一了,若是資訊人員不能人與技術合一,那要如何登峰造極?我們必須正確的使用它,才能讓它變成你的武器。 縮圖來源:https://www.pexels.com/zh-tw/photo/53207/
Thumbnail
雜湊演算法(hash function)。或許你聽過它,但你是否了解它?劍術大師都說要人劍合一了,若是資訊人員不能人與技術合一,那要如何登峰造極?我們必須正確的使用它,才能讓它變成你的武器。 縮圖來源:https://www.pexels.com/zh-tw/photo/53207/
Thumbnail
函式(Function)、傳值法、傳位址法、傳參考法
Thumbnail
函式(Function)、傳值法、傳位址法、傳參考法
Thumbnail
指標(Pointer)、參考(reference)
Thumbnail
指標(Pointer)、參考(reference)
Thumbnail
賦值、打印、算數運算子、邏輯與關係運算子
Thumbnail
賦值、打印、算數運算子、邏輯與關係運算子
Thumbnail
變數(variable)、型別(type)、初始化(initialize)、宣告
Thumbnail
變數(variable)、型別(type)、初始化(initialize)、宣告
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News