C 語言學習記錄 9 引用

2021-10-23 22:49:22 字數 867 閱讀 6658

引用是c++中的一種特有的語法,用以優化c中只能使用指標的缺點,同時也是有自己語言特性的乙個語法。

如果不使用引用,在這裡的程式就無法正常實現它的功能。

#include

using

namespace std;

void

swap

(int a,

int b)

//定義乙個swap函式實現資料的交換

上面的例子看似可以正常執行,實際上在編譯環境中得到的結果是x和y並沒有發生任何交換。

以上情況發生的原因就是在x,y將值賦給ab後,xy與ab間的關係就不存在了,因此swap函式的執行是與xy無關的,這裡只實現了引數的單向傳遞。

引用的功能就在於可以將兩個變數「繫結」起來,實現引數的雙向傳遞,以便於類似以上的程式順利執行。如:

int i,j;

int&r=i;

j =10

;j = r;

以上的**就是將r與i「繫結」,在更改r的值時,i的也就相應的發生改變,反之亦然。

注意:乙個引用被初始化之後,就不能再指向其他物件

之前的**就可以改變為:

#include

using

namespace std;

void

swap

(int

& a,

int& b)

//定義乙個swap函式實現資料的交換

以上即可完成xy的交換

注意:引用必須初始化,一開始就要定下引用的原名,如int &b=a

C 學習(三) 引用

為了說明c 中引用這個概念引入的意義,我們不妨從乙個最基礎的c語言交換兩個變數的值的函式說起 swap int a,int b 呼叫時,使用如下語句 swap a,b 這裡,傳遞的是變數a和b的位址,我們要交換a和b的值,函式卻用的是a和b的位址作為引數,感覺沒有那麼直觀形象。c 引入了 引用 這個...

C 學習(6) 引用

作用 給變數起別名 語法 資料型別 別名 原名 includeusing namespace std int main 引用一旦初始化,就不可以更改了 作用 函式傳參時,可以利用引用的技術讓形參修飾實參 優點 可以簡化指標修改實參 includeusing namespace std 交換函式 1....

C語言學習9

經過千辛萬苦的修改和除錯我終於成功了。我放棄了陣列的想法,因為自定義函式的返回值如果是陣列的話好像會出錯誤,所以就返回每種蔬菜的總費用,之後進行逆運算來得到正確答案了。我有預感,像這樣用逆運算的方法我感覺以後可能會用到好多。閒話到這下面是程式的源 include define artichoke 2...