傳遞引用給函式與傳遞指標的效果是一樣的,形參變化實參也發生變化。
引用型別作形參,在記憶體中並沒有產生實參的副本,它 直接對實參操作;
而一般變數作引數,形參與實參就占用不同的儲存單元,所以形參變數的
值是實參變數的副本。因此,當引數傳遞的資料量較大時,用引用比用一
般變數傳遞引數的時間和空間效率都好。
指標引數雖然也能達到與使用引用的效果,但在被調函式中需要重複使用
「*指標變數名」的形式進行運算,這很容易產生錯誤且程式的閱讀性較差;
另一方面,在主調函式的呼叫點處,必須用變數的位址作為實參。
#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...