C C 函式引數的三種傳遞方式

2021-07-31 14:08:45 字數 727 閱讀 9602

函式引數傳遞方式一:值傳遞

**格式:

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 中函式引數的三種傳遞方式

還是看原文的格式更舒服些 一 值傳遞 這種傳遞方式中,實參和形參是兩個不同的位址空間,引數傳遞的實質是將原函式中變數的值,複製到被呼叫函式形參所在的儲存空間中,這個形參的位址空間在函式執行完畢後,會被 掉。整個被呼叫函式對形參的操作,只影響形參對應的位址空間,不影響原來函式中的變數的值,因為這兩個不...