C 引用和指標

2021-08-19 10:08:12 字數 563 閱讀 8101

二者共同點:

都指向對應的變數

二者差異:

1. 指標本身為乙個實體,引用不是;指標物件儲存對應變數的儲存位址,引用直接指向該位址而非進行儲存。

2. sizeof(指標)返回指標用來儲存物件的位址空間的大小(因為指標本身為乙個實體,有自身被分配的空間),sizeof(引用)返回指向物件的空間大小。

3. 指標初始化後可指向其它單元,引用初始化之後不可再改變。

4. 對引用的操作實為對其指向物件的操作,對指標自身的操作並非如此。

例:int

x = 1;

inty = 2;

intz = 3;

//指標c可以不初始化,可以更改其指向的目標

int* c;

//引用必須初始化,不可以更改其指向的目標 ,int& ra ;

報錯,ra 必須要指定初值

c = &x; c = &y;

//下面只是把y的值賦給 ra 也就是x 而並不是使引用的目標由 對x的引用到對y的引用

int& ra = x;

ra = y;

具體參考: 

C 指標和引用

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

C 引用和指標

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

C 指標和引用

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