c語言關於引用 的使用

2021-09-11 03:11:25 字數 1201 閱讀 5491

比較以下兩個**

(1)#include

#include

void turn(int x, int y)//無引用

int main()

(2)#include

#include

void turn(int &x, int &y)//有引用

int main()

結論: 

說白了引用&就是別名(你的小名,指的是同乙個你),如果程式對引用做出改動,其實就是對目標的改動。 

當用執行語句trun(&a,&b)時,實參a和b的值發生了交換,如果turn函式的形參不用引用型別,這樣呼叫時,由於c/c++採用實參到形參的單向值傳遞,所以實參a和b的值並不發生任何改變

--------------------- 

原文: 

引用:引用是乙個變數的另乙個名字,又稱別名。定義方式: 

int a=10; 

int &b=a;在這裡,意思就是給a變數起了乙個新名字b,因此b不可再次被重新定義。 

引用必須初始化,無空引用,並且引用不分等級。 

引用與指標的異同點: 

相同點:在引用中 int &b=a;這一句**可被編譯器看做int * const b=&a;//加上const的作用是表明指標b的自身的值(a的位址)不能改變,而指向的值(a的值)可以改變。也就是說引用相當於指標,引用與指標在編譯時的方法一樣,指向的都是變數的記憶體位址。 

不同點:1.在定義方式中引用儲存的是值,而指標是乙個變數的拷貝,儲存的是位址。 

2.引用只能對已經存在的變數或物件實現引用,而指標則不需要,可以定義為空。 

3.在函式的傳參中,如果傳遞的是乙個引用,意味著這個變數或物件已經存在了;如果傳遞的是乙個指標,則不能判斷這個指標是不是有效的,是不是空的,因此在函式體 中大多數都得進行指標是否為空的判斷。但是雖然引用較為安全,但是利用指標來傳參效率較快。 

4.引用是直接訪問變數,不用分配自己的記憶體空間,而指標是間接訪問,需要定義,需要有自己的記憶體空間。 

例:交換函式swap()

void swap(int &a,int &b)

void main()

1234567891011

等價指標為:

void swap(int *const a,int *const b)

void main()

--------------------- 

原文: 

關於C 引用C,C引用C ,extern的使用

由於自己理解還不夠透徹,所以不能說寫什麼出來,但是看到這裡面的內容,然後自己也去操作了一下,覺得真的挺不錯的。在實際操作原文例子的時候要注意檔案,c與c 的區別,例子1是c 引用c,標頭檔案使用的是 extern int foo int x,int y 在c 檔案中模組中,要引用標頭檔案 inclu...

關於C 的引用

c 的實現是建立在c的基礎上的,c 是c的超集,也就是c的補充以及擴充套件 所以叫c 也可以理解為c 是裝了裝備的c。c 的引用其實就是c的指標的變形,兩者可以相互替代。下面先貼一段c 的 include using namespace std void fgd int e intmain 輸出結果...

c語言引用

引用簡介 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 宣告...