把變數的「地址」傳給函式
函式裡透過指標找到房子
就能直接改裡面的東西了
📌交換兩個數字,需要一個盒子
a 的值存到盒子b 的值放進 a
b
📌如果直接 a = b,那麼 a 的值就消失了
#include <iostream>
using namespace std;
void swap(int *x, int *y) 
{
    int temp = *x;  
    *x = *y;       
    *y = temp;     
}
int main() 
{
    int a = 5, b = 10;
    swap(&a, &b); 
    cout << "a = " << a << ", b = " << b << endl;
    return 0;
}
📌 引用變數位置
#include <iostream>
using namespace std;
void changeValue(int &x) 
{
    x = 2; 
}
int main() 
{
    int a = 1;
    changeValue(a); 
    cout << "a = " << a << endl;
    return 0;
}
📌 傳入地址,並用 * 取值修改
#include <iostream>
using namespace std;
void changeValue(int *x) 
{
    *x = 2; 
}
int main() 
{
    int a = 1;
    changeValue(&a); 
    cout << "a = " << a << endl;
    return 0;
}
函式參數除了傳值(by value)
還能使用指標傳址(by pointer)
這樣函式就可以直接操作原本的變數