C++ 新手教學9

閱讀時間約 3 分鐘
函式(Function)、傳值法、傳位址法、傳參考法
匿名李

函式(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);
sum(a,b)
Output
3

不同的傳入參數與引數

  • 引數的功能在於初始化函數,參數在函式裡被更改,引數並不會跟著改變(除非使用傳位址法、傳參考法,直接對本身進行運算)
  1. 傳值法 ( call by value )
  2. 傳位址法 ( call by address )
  3. 傳參考法 ( call by reference )
例如1(傳值法):
傳入num的值,初始化 a = num
  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int a
傳值法,傳入int a
Output
a = 10
num = 5
例如2(傳位址法):
傳入num的位置,使用間接運算子(*),取得該位址的值進行運算
  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int* a
傳位址法,傳入num的位置
Output
a = 10
num = 10
例如3(傳參考法):
傳入num的參考,num 的別名是a,對a進行運算就等於對num進行運算
  • 回傳型別:void
  • 函式名稱:print
  • 傳入參數:int &a
傳參考法,傳入int &a
Output
a = 10
num = 10

參考資料

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

延伸閱讀

為什麼會看到廣告
6會員
46內容數
這是新手寫給新手的學習程式語言基礎教學筆記,內容會以C++為主
留言0
查看全部
發表第一個留言支持創作者!
匿名李的沙龍 的其他內容
檔案路徑(相對路徑、絕對路徑)、檔案讀入,匯出
指標(Pointer)、參考(reference)
if-else判斷 與 for迴圈
檔案路徑(相對路徑、絕對路徑)、檔案讀入,匯出
指標(Pointer)、參考(reference)
if-else判斷 與 for迴圈
你可能也想看
Google News 追蹤
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }
Thumbnail
巢狀迴圈For loop介紹結構及範例說明 巢狀迴圈 巢狀迴圈是在一個迴圈內包含另一個迴圈的結構 簡單來說,就是內迴圈做完,才會在跑到外迴圈,接著在做內迴圈
Thumbnail
IF,Switch,三元運算子語法說明 IF條件選擇結構說明 IF為布林條件,當()內條件式滿足True執行if區塊的程式碼,不滿足則執行else區塊的程式碼,若無else也行。
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
練習 bmi的計算 BMI的公式為 體重(公斤)/((身高(公尺))^2) (註:^是次方的意思) 這個問題有用到平方的計算, 如果我要將一個數字平方,在c++時可以怎麼用呢? 1.使用pow函數 pow(參數1,參數2) 參數一代表的是底數,參數2代表的是指數 pow(x,y)=
Thumbnail
C# 介面 ( C# Interface ) – (C#教學) – 介面就是類別的接口, 就好像在電插一樣, 不同的電器有同一類與電力的接口. 要編程就像一個布局, 當引用一個class時, 會引用不同的method, property. 如果method的class可以轉換, 就大大簡化了編程.
Thumbnail
C# Dictionary – (C#教學) – Dictionary 就是包含keys list 及 value list 的一個集合. 在集合中, 每一行的key也會Map在value上, 只需要加入Key就可取得值. 相關頁面:
Thumbnail
C# List – (C#教學) – 所謂List, 就是把多個同類的variable串列在一起. 加上for, foreach迴圈的使用, 令他們可以作出相同的行為. 相關頁面: C# 陣列 – 學會Array陣列基本5種應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
近期的「貼文發佈流程 & 版型大更新」功能大家使用了嗎? 新版式整體視覺上「更加凸顯圖片」,為了搭配這次的更新,我們推出首次貼文策展 ❤️ 使用貼文功能並完成這次的指定任務,還有機會獲得富士即可拍,讓你的美好回憶都可以用即可拍珍藏!
Thumbnail
for,while,do while語法介紹 for loop for比較偏向固定圈數型的迴圈 語法 for(計數變數初值; 布林運算式 ; 增量運算) { : 一般指令; : }
Thumbnail
巢狀迴圈For loop介紹結構及範例說明 巢狀迴圈 巢狀迴圈是在一個迴圈內包含另一個迴圈的結構 簡單來說,就是內迴圈做完,才會在跑到外迴圈,接著在做內迴圈
Thumbnail
IF,Switch,三元運算子語法說明 IF條件選擇結構說明 IF為布林條件,當()內條件式滿足True執行if區塊的程式碼,不滿足則執行else區塊的程式碼,若無else也行。
Thumbnail
介紹C++ 語法 資料型態,架構說明 程式語言為人類與電腦溝通的工具 程式設計流程: 定義問題 -> 問題分析 -> 撰寫演算法 ->程式撰寫 -> 程式執行及維護
練習 bmi的計算 BMI的公式為 體重(公斤)/((身高(公尺))^2) (註:^是次方的意思) 這個問題有用到平方的計算, 如果我要將一個數字平方,在c++時可以怎麼用呢? 1.使用pow函數 pow(參數1,參數2) 參數一代表的是底數,參數2代表的是指數 pow(x,y)=
Thumbnail
C# 介面 ( C# Interface ) – (C#教學) – 介面就是類別的接口, 就好像在電插一樣, 不同的電器有同一類與電力的接口. 要編程就像一個布局, 當引用一個class時, 會引用不同的method, property. 如果method的class可以轉換, 就大大簡化了編程.
Thumbnail
C# Dictionary – (C#教學) – Dictionary 就是包含keys list 及 value list 的一個集合. 在集合中, 每一行的key也會Map在value上, 只需要加入Key就可取得值. 相關頁面:
Thumbnail
C# List – (C#教學) – 所謂List, 就是把多個同類的variable串列在一起. 加上for, foreach迴圈的使用, 令他們可以作出相同的行為. 相關頁面: C# 陣列 – 學會Array陣列基本5種應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈
Thumbnail
C# 陣列 – (C#教學) – Array為程式設計中最基本元素之一. 陣列就是用一個variable記下多個同類的值(記憶體中的位置), 以供日後所調用. 相關頁面: C# List – 學會List的5種基本應用方法 – 初始化, 加入值, 更新值, 刪除值, foreach迴圈