C 引用和指標

2021-08-21 13:17:35 字數 1126 閱讀 7243

1、引用的概念及用法

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

定義的格式為:

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

引用的特點:

1、乙個變數可取多個別名

2、引用必須初始化

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

引用作為引數

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

void swap(int

left,int

right)

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

void swap(int& left,int& right)

3、指標傳遞

void swap(int* pleft,int* pright)

傳值做返回值和傳引用做返回值

int& add(int d1,int d2)

void()

{ int a = 3,b = 4;

int c = add(a,b);

cout

<<"c:"

<引用和指標的區別和聯絡

1、引用只能在定義時初始化一次,之後不能改變指向其它變數(從一而終);指標變數的值可變。

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

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

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

5、相對而言,引用比指標更安全。

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

C 指標和引用

在深入介紹之前我們首先來看一下指標和引用的定義 指標和引用的區別,然後分別針對指標和引用展開討論,深入細節為何有這些差異。指標和引用的定義,下面用通俗易懂的話來概述一下 而宣告指標是可以不指向任何物件,也正是因為這個原因,使用指標之前必須做判空操作,而引用就不必。其次,引用不可以改變指向,對乙個物件...

C 引用和指標

引用和指標看上去差不多,看上去差不多,其實男寶寶和女寶寶是不一樣的 用起來還是有一定差距。本人菜鳥僅將遇到的問題記錄備案,以便日後翻查 ptrfunc.h ifndef ptrfunc h define ptrfunc h typedef int func int,int struct aa end...

C 指標和引用

有了變數名,為什麼還需要乙個別名呢?c 之所以增加引用型別,主要是把它作為函式引數,以擴充函式傳遞資料的功能 到目前為止我們介紹過函式引數傳遞的兩種情況 1 將變數名作為實參和形參 這時傳給形參的是變數的值,傳遞是單向的 如果在執行函式期間形參的值發生變化,並不傳回給實參 因為在呼叫函式時,形參和實...