**:
一、值傳遞
這種傳遞方式中,實參和形參是兩個不同的位址空間,引數傳遞的實質是將原函式中變數的值,複製到被呼叫函式形參所在的儲存空間中,這個形參的位址空間在函式執行完畢後,會被**掉。整個被呼叫函式對形參的操作,只影響形參對應的位址空間,不影響原來函式中的變數的值,因為這兩個不是同乙個儲存空間。
二、引用傳遞
這種傳遞方式中,形參是引用型別變數,其實是實參的乙個別名,在被呼叫函式中,對引用變數的所有操作等價於對實參的操作。整個被呼叫函式對形參的操作執行完畢後,原先的實參的值也會發生改變。
三、指標傳遞
這種傳遞方式中,實參是變數的位址,形參是指標型別的變數。在函式中對指標變數的操作,就是對實參(變數位址)所對應的變數的操作。整個被呼叫函式對形參的操作執行完畢後,原函式中的變數的值將會發生改變。
**如下:
#include
using
namespace
std;
//值傳遞 交換前a=1,b=2;交換後a=1,b=2;
void
swap
(int a,int b)
//引用傳遞 交換前a=1,b=2;交換後a=2,b=1;
void
swap
(int &a,int &b)
//指標傳遞 交換前a=1,b=2;交換後a=2,b=1;
void
swap1
(int *a,int *b)
//主函式
intmain
()
**:
C C 中函式引數的三種傳遞方式
一 值傳遞 這種傳遞方式中,實參和形參是兩個不同的位址空間,引數傳遞的實質是將原函式中變數的值,複製到被呼叫函式形參所在的儲存空間中,這個形參的位址空間在函式執行完畢後,會被 掉。整個被呼叫函式對形參的操作,只影響形參對應的位址空間,不影響原來函式中的變數的值,因為這兩個不是同乙個儲存空間。二 引用...
C C 中函式引數的三種傳遞方式
還是看原文的格式更舒服些 一 值傳遞 這種傳遞方式中,實參和形參是兩個不同的位址空間,引數傳遞的實質是將原函式中變數的值,複製到被呼叫函式形參所在的儲存空間中,這個形參的位址空間在函式執行完畢後,會被 掉。整個被呼叫函式對形參的操作,只影響形參對應的位址空間,不影響原來函式中的變數的值,因為這兩個不...
C C 函式引數的三種傳遞方式
函式引數傳遞方式一 值傳遞 格式 void swap int a,int b void main 函式引數傳遞方式二 位址傳遞 格式 void swap int a,int b void main 函式引數傳遞方式三 引用傳遞 注意 引用傳遞在c中不可用,僅c 支援 格式 void swap int...