C 指標和引用的異同點

2021-10-25 10:36:21 字數 489 閱讀 8859

相同點:

不同點:

指標是乙個實體,而引用僅僅是乙個別名

在使用時候引用無需解引用,而指標需要解引用(*)

指標只能在定義時別初始化一次,之後不可在變,指標一般可變(除非常量指標)

引用不能為空而指標可以為空

「sizeof引用」得到的是所指向的物件的大小,而「sizeof指標」得到的是指標本身的大小

聯絡:引用在語言內部使用指標來實現的

對一般應用而言,把引用理解為指標,不會犯嚴重語義錯誤。引用是操作受限了的指標(僅允許去內容過操作)。

引用的規則如下:

引用被建立的同時被初始化(指標不需要)

不能有null引用,必須與合法的儲存單元關聯。

一旦引用被初始化,就不能改變引用的關係。

*注意:引用能做的事情,指標都鞥你做。但為什麼還需要用引用這東西?

答:「用適當的工具做恰當的工作」,指標能夠毫無約束的操作記憶體的任何東西,功能太過於強大,帶來了非常大的危險。

C 之指標和引用的異同點

指標和引用看上去很像,但他們有著很大的區別 指標和引用的本質區別是 指標是乙個實體變數,而引用是乙個物件的別名。基於此區別,指標和引用就有了很多不同的應用不同。首先,引用不能為空,沒有物件又怎麼會有別名呢,指標本身就是個物體,記憶體值可以隨意。指標可以隨便變化,而引用只能初始化一次不可賦值 引用相當...

c 指標和引用異同

說白了c 中的引用就是指標。至少底層實現是這樣。乙個例子說明。一下 include int main int argc char argv 1 include 2 3 int main int argc char argv 4 00401057 pop edi 00401058 pop esi 00...

C 指標與引用的異同

目錄 指標和引用的原理非常的相似,所以很多時候尤其是面試的時候經常會拿來比較。本文來梳理一下引用和指標的一些異同。兩者都是關於位址的概念。指標本身是乙個變數,它儲存的值是一塊記憶體位址,而引用是某乙個記憶體的別名。我們可以使用指標或引用修改對應記憶體的值。我們無法宣告乙個變數引用再給它賦值,只能在宣...