📌 #include <iostream>
	using namespace std;
	int add(int a,int b) 
	{
        return a + b;
	}
	int main() 
	{
	    int A=5;
	    int B=4;
	    cout << add(A,B) << endl;
	    int B=3;
	    cout << add(A,B) << endl;
	    return 0;
	}
📌 當成是需要重複動作的時候
📌 可呼叫設計好的函式做使用
📌int sub(int a,int b) 
	{
        return a - b;
	}
📌 回傳型別 函式名稱(參數)
📌void sub(int a) 
	{
	    a = a + 1; 
	}
📌 void → 值無法回傳,適合輸出使用
📌int sub(int a,int b) 
	{
        return a - b;
	}
📌 int → 值可回傳,透過 return 回傳
📌#include <iostream>
	using namespace std;
	void add(int* x) 
	{
	    *x = *x + 1; 
	}
	int main() 
	{
        int a = 5;
        add(&a);
        cout << a << endl; 
        return 0;
	}
📌 因為傳送的是位置,所以函式裡面的x,和a是同記憶體位置的
📌 所以當函式裡面x的值改變,main的a值,也會對應改變
| 傳值 | 傳址 | |
|---|---|---|
| 傳遞內容 | 傳遞變數的「複製品」 | 傳遞變數的「位址」 | 
| 影響原變數 | 不會改變 | 會改變 | 
| 記憶體效率 | 需要額外複製,對大物件較低效 | 不需額外複製,對大物件較高效 | 
| 場合 | 適合小型資料(int、double)且不需改變原值 | 適合需要修改資料或傳遞大型物件(陣列、結構、類別) | 
📌 函式的參數傳遞方式分為傳值與傳址
傳值會建立一份資料的複製品
因此在函式內修改並不會影響原始變數
傳址則是直接操作原始變數的記憶體位置
可以有效率地處理大型資料並允許修改原始內容