C (二)引用和指標

2021-08-21 06:52:25 字數 1513 閱讀 5644

引用不是定義乙個新的變數,而是給乙個已經定義的變數重新起乙個別名。

定義的格式是:

型別&引用變數名 = 已定義過得變數名;

引用的特點:

1:乙個變數可以取多個別名

2:引用必須初始化

3:引用只能在初始化的時候引用一次,不能改變為再引用其他的變數。

#include 

using

namespace

std;

void testreferencel1()

void testreferencel2()

int main()

引用作為引數

1【值傳遞】如果形參為非引用傳值方式,則生成區域性臨時變數接收實參的值

#include using namespace std;

void swap(int

left,int

right)

2【引用傳遞】如果形參為引用型別,則形參是實參的別名

void swap(int &left,int &right)

void testreference()

傳值做返回值,傳引用作為返回值

int &add(int d1,int d2)

//int add(int d1,int d2)

void()

{ int a = 3,b = 4;

int c = add(a,b);

cout<

我們通過彙編看函式棧幀的呼叫

通過彙編看傳值返回和傳引用返回

結論 1:不要返回乙個臨時變數的引用

2:如果返回物件出了當前函式的作用域依舊存在,則最好使用引用返回,因為這樣更高效。

引用和指標的區別和聯絡

1:引用只能在定義時初始化一次,之後不能改變指向其他變數,指標變數的值可以改變

2:引用必須指向有效的變數,指標可以為空。

3:sizeof指標物件和引用物件的意義不一樣,sizeof引用得到的是所指向變數的大小,而sizeof指標是物件位址的大小。

4:指標和引用自增(++)自減(–)意義不一樣。

5:相對而言,引用比指標安全

需要注意的是,指標比引用靈活,但是也更危險,使用指標時一定要檢查指標是否為空,指標所指的位址釋放後最好置為零,否則可能存在野指標問題。

C 集錦二 引用和指標

1.什麼是 引用 宣告和使用 引用 需要注意哪些問題?引用就是某個目標變數的 別名 對引用的操作與對變數的操作效果完全相同。宣告乙個引用需要對其進行初始化,這不是新定義了乙個變數,它只是表示該引用名是目標變數名的乙個別名,它本身不是一種資料型別,因此引用不佔儲存單元。2.使用 引用 作為函式引數有哪...

C 21 引用和指標

一般說到誰和誰怎麼樣,要麼說兩者的相似點,要麼兩者的區別,這裡我們也要說二者的區別和聯絡,同時,也不僅僅是區別和聯絡這麼簡單,因為你可能會發現在變數賦值,函式傳參這兩點還是有很多值得品一品的。最直觀的賦值方面的區別 首先我們先說二者的區別和聯絡。int a 1 int p a int a 1 int...

C 學習筆記(二)引用與指標

一.引用和指標的異同 1.指標在定義時,可以不初始化,引用在定義時必須初始化 2.指標變數指向的位址可以根據需要動態修改,引用只要和某個變數繫結後就不能改變。3.指標本身需要占用4個位元組存放空間,而引用本身不要不用分配記憶體空間。4.使用sizeof求指標變數的大小總是4個位元組,表示位址所佔的空...