函式引數傳遞方式一:值傳遞
**格式:
void swap(int a, int b)
void main()
函式引數傳遞方式二:位址傳遞
**格式:
void swap(int * a, int * b)
void main()
函式引數傳遞方式三:引用傳遞
注意:引用傳遞在c中不可用,僅c++支援;
**格式:
void swap(int &a, int &b)
void main()
值傳遞與引用傳遞對比:
1.函式定義時格式不同:
值傳遞的定義:swap(int a, int b);
引用傳遞的定義:swap(int &a, int &b);
2.呼叫時格式相同:
值傳遞的呼叫:swap(x, y);
引用傳遞的呼叫:swap(x, y);
3.呼叫結果不同:
值傳遞的函式裡操作的不是x、y變數本身,只是將x、y值賦給了a、b;
函式中操作的是變數a、b,而不是x、y,故x、y的值不會被函式所修改。
引用傳遞的函式裡是用x、y分別代替了a、b;
函式中操作的是x、y變數的本身,故x、y的值可在函式裡被修改。
C C 中函式引數的三種傳遞方式
一 值傳遞 這種傳遞方式中,實參和形參是兩個不同的位址空間,引數傳遞的實質是將原函式中變數的值,複製到被呼叫函式形參所在的儲存空間中,這個形參的位址空間在函式執行完畢後,會被 掉。整個被呼叫函式對形參的操作,只影響形參對應的位址空間,不影響原來函式中的變數的值,因為這兩個不是同乙個儲存空間。二 引用...
C C 中函式引數的三種傳遞方式
一 值傳遞 這種傳遞方式中,實參和形參是兩個不同的位址空間,引數傳遞的實質是將原函式中變數的值,複製到被呼叫函式形參所在的儲存空間中,這個形參的位址空間在函式執行完畢後,會被 掉。整個被呼叫函式對形參的操作,只影響形參對應的位址空間,不影響原來函式中的變數的值,因為這兩個不是同乙個儲存空間。二 引用...
C C 中函式引數的三種傳遞方式
還是看原文的格式更舒服些 一 值傳遞 這種傳遞方式中,實參和形參是兩個不同的位址空間,引數傳遞的實質是將原函式中變數的值,複製到被呼叫函式形參所在的儲存空間中,這個形參的位址空間在函式執行完畢後,會被 掉。整個被呼叫函式對形參的操作,只影響形參對應的位址空間,不影響原來函式中的變數的值,因為這兩個不...