c 中引用和指標剖析

2021-10-09 02:52:56 字數 1571 閱讀 8915

這一篇總結對比比較簡短,更多的是從結構上去剖析

這篇總結對比博主寫得特別好,但是還是比較散,還是推薦看

看完之後你是不是發現自己豁然開朗,看***的**應該會輕鬆許多,嘻嘻。

一、引用注意事項

//1、引用必須初始化

//2、引用在初始化後不可更改

二、引用做函式返回值

//格式:

//《型別》 & 函式名(引數) 如:int & test01()

//1、不要返回區域性變數的引用

//2、但是可以返回乙個對靜態變數的引用

//3、函式的呼叫可以作為左值

三、值傳遞&&位址傳遞&&引用傳遞

#include

using

namespace std;

//交換函式

//1、值傳遞

void

myswap01

(int a,

int b)

//2、位址傳遞

void

myswap02

(int

*a,int

*b)//3、引用傳遞

void

myswap03

(int

&a,int

&b)int

main()

四、引用本質(認真看!!!)

//引用的本質在c++內部實現是乙個指標常量

#include

using

namespace std;

//發現是引用,自動轉化為 int * const ref = &a

void

func

(int

&ref)

intmain()

執行「 ref = 20 」語句前的記憶體如下圖:

執行「 ref = 20 」語句後的記憶體如下圖:

結論:c++推薦使用引用,因為語法方便。引用實質是指標常量,只是轉化工作編譯器已經幫助我們完成。面試時可能會需要了解原因,但是實際用的時候別想太複雜,就想成乙個別名用即可

C語言引用型別和指標型別剖析

能用引用完成的都可以用指標完成.能用指標完成的不一定能用引用完成.引用正是遮蔽了指標 不安全 但卻 功能強大 的那部分.引用不能為空,所以在程式中的引用都是有值的,不必檢查該引用是否為空。而指標則可以為空。你可以定義乙個指向null的指標,這就是和引用的最大區別,所以在程式中使用指標之前必須檢查該指...

C 中的引用剖析

在c語言中,對於下面兩個實現交換變數值的函式,因為函式傳參傳的是函式值,swap1 是完成不了的,而swap2 可以。include void swap1 int a,int b void swap2 int pa,int pb intmain int argc,char ar 執行結果 初始時a ...

C 中的指標和引用

注意本人的部落格都遷移到本人自己搭建的部落格位址,通過此處可檢視。本人在工作之餘學習c 但是可能在訓練過程種,會通過各種刷題的形式去提公升自己,但是這樣在一些公司 尤其是大廠 面試的時候會很尷尬。而c 種的指標和引用有什麼區別和聯絡呢,現在就來說道說道,如有錯誤,敬請大家指正。首先我們來說道說道指標...