C 交換值的幾種方法以及使用引用型別做引數的好處

2021-09-27 04:30:30 字數 805 閱讀 5461

傳遞引用給函式與傳遞指標的效果是一樣的,形參變化實參也發生變化。

引用型別作形參,在記憶體中並沒有產生實參的副本,它 直接對實參操作;

而一般變數作引數,形參與實參就占用不同的儲存單元,所以形參變數的

值是實參變數的副本。因此,當引數傳遞的資料量較大時,用引用比用一

般變數傳遞引數的時間和空間效率都好。

指標引數雖然也能達到與使用引用的效果,但在被調函式中需要重複使用

「*指標變數名」的形式進行運算,這很容易產生錯誤且程式的閱讀性較差;

另一方面,在主調函式的呼叫點處,必須用變數的位址作為實參。

#includeusing namespace std;

//把實參的值傳送給函式區域性工作區相應的副本中,函式使用這個副本執行必要的功能。函式修改的是副本的值,實參的值不變。

//失敗

void swap1(float m,float n)

//出了這個函式,變數的值就變了

//成功 傳位址

void swap2(float *m,float *n)

//失敗

void swap3(float *m,float *n)

//成功

void swap4(float &m,float &n)

/*c語言的指標支援

函式的位址呼叫

動態分配記憶體

malloc(m)

sizeof(x)

free(p)

陣列的位址引用

*/float a,b;

void main()

數值交換的幾種方法

1 最簡單 最標準的一種方法,建立乙個臨時變數 int main 2 在不建立臨時變數的情況下交換兩個數的值 1 通過加減乘除的方法交換數值 define crt secure no warnings 1 include 交換兩個數的內容 int main 由於int定義整型變數,佔四個位元組。它定...

交換兩個變數的值的幾種方法

如果說解決 交換兩個變數的值 的問題也是演算法的話,這大概是程式世界中最簡單的演算法了。即使是這樣的演算法,也有幾種解決方法,下面來了解一下吧。1.利用中間變數temp作為臨時變數交換數值,這是變數交換最簡單最通用的方法。說這個演算法通用,是指其對資料型別沒有特殊要求,八種基本型別byte,shor...

關於數值交換的幾種方法

在大量的開發中常常會遇到需要交換兩個數值的問題,今天就給大家分享一些數值交換方面的方法 第一種方法 這也是大家最容易想到的方法,即利用中間變數達到交換兩個數的目的,具體如下 int tmp tmp i1 i1 i2 i2 tmp 這種方法執行效率是最低了 第二種方法 利用數學中的運算技巧 i1 i1...