C語言中函式引數傳遞的三種方式 x, x, x

2022-08-27 16:21:10 字數 780 閱讀 9801

#includevoid myswap1(int x, int

y)void myswap2(int *p1, int *p2)

void myswap3(int &x, int &y)

intmain()

在第乙個程式中,傳值不成功的原因是指在形參上改變了數值,沒有在實參上改變量值。

在第二個程式中,傳位址成功的原因利用指標改變了原來的位址,所以實參就交換了。

在第三個程式中,引用是直接改變兩個實參變數a,b的值,所以就交換了。

注:引用就是某一變數(目標)的乙個別名,對引用的操作與對變數直接操作完全一樣。

引用的宣告方法:型別識別符號 &引用名=目標變數名;

【例】:int a; int &ra=a; //定義引用ra,它是變數a的引用,即別名

說明:(1)&在此不是求位址運算,而是起標識作用。

(2)型別識別符號是指目標變數的型別。

(3)宣告引用時,必須同時對其進行初始化。

(4)引用宣告完畢後,相當於目標變數名有兩個名稱,即該目標原名稱和引用名,且不能再把該引用名作為其他變數名的別名。

ra=1; 等價於 a=1;

(5)宣告乙個引用,不是新定義了乙個變數,它只表示該引用名是目標變數名的乙個別名,它本身不是一種資料型別,因此引用本身不佔儲存單元,系統也不給引用分配儲存單元。故:對引用求位址,就是對目標變數求位址。&ra與&a相等。

(6)不能建立陣列的引用。因為陣列是乙個由若干個元素所組成的集合,所以無法建立乙個陣列的別名。

C語言中函式引數傳遞的三種方式

煙台大學計算機與控制工程學院 檔名稱 test.cpp 作 者 朱國榮 完成日期 2015年9月11日 版 本 號 vc6.0 問題描述 交換a和b的值。輸入描述 兩個整數,分別為2和3。程式輸出 交換後的兩個數,輸出3和2.include void myswap int p1,int p2 2 引...

C語言中函式引數傳遞的三種方式

c語言中函式引數傳遞的三種方式 1 傳值,就是把你的變數的值傳遞給函式的形式引數,實際就是用變數的值來新生成乙個形式引數,因而在函式裡對形參的改變不會影響到函式外的變數的值。2 傳址,就是傳變數的位址賦給函式裡形式引數的指標,使指標指向真實的變數的位址,因為對指標所指位址的內容的改變能反映到函式外,...

C C 語言中函式引數傳遞的三種方式

問題及 檔名稱 cpp1.cpp 完成日期 2015年12月7日 版本號 v6.0 問題描述 c語言中函式引數傳遞的三種方式 輸入描述 兩個待交換的整數 程式輸出 交換後得兩個整數 includevoid myswap int x,int y int main includevoid myswap ...