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
匿名李的沙龍
7會員
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
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
透過蝦皮分潤計畫,輕鬆賺取零用金!本文分享5-6月實測心得,包含數據流程、實際收入、平臺優點及注意事項,並推薦高分潤商品,教你如何運用空閒時間創造被動收入。
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
單身的人有些會養寵物,而我養植物。畢竟寵物離世會傷心,植物沒養好再接再厲就好了~(笑)
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
不知你有沒有過這種經驗?衛生紙只剩最後一包、洗衣精倒不出來,或電池突然沒電。這次一次補貨,從電池、衛生紙到洗衣精,還順便分享使用心得。更棒的是,搭配蝦皮分潤計畫,愛用品不僅自己用得安心,分享給朋友還能賺回饋。立即使用推薦碼 X5Q344E,輕鬆上手,隨時隨地賺取分潤!
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
Thumbnail
身為一個典型的社畜,上班時間被會議、進度、KPI 塞得滿滿,下班後只想要找一個能夠安靜喘口氣的小角落。對我來說,畫畫就是那個屬於自己的小樹洞。無論是胡亂塗鴉,還是慢慢描繪喜歡的插畫人物,那個專注在筆觸和色彩的過程,就像在幫心靈按摩一樣,讓緊繃的神經慢慢鬆開。
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)
追蹤感興趣的內容從 Google News 追蹤更多 vocus 的最新精選內容追蹤 Google News