指標和引用的區別

2021-08-22 14:52:39 字數 470 閱讀 3555

雖然使用引用和指標都可間接訪問另乙個值,但它們之間有幾個重要區別。

1)引用不能為空,當引用被建立時,它必須被初始化。而指標可以為空值,可以在任何時候被初始化。

2)一旦乙個引用被初始化為指向乙個物件,它就不能被改變為另乙個物件的引用。指標則可以在任何時候指向另乙個物件。

3)不可能有null引用,必須確保引用是和一塊合法的儲存單元關聯。

4)sizeof(引用)得到的是所指向的變數(物件)的大小,而sizeof(指標)得到的是指標本身的大小。

5)給引用賦值修改的是該引用所關聯的物件的值,而並不是使引用與另乙個物件關聯。

6)引用使用時不需要解引用,而指標需要解引用,引用和指標的自增(++)操作運算意義不一樣。

7)如果返回動態分配的物件或記憶體,必須使用指標,引用可能引起記憶體洩露。

8)當使用&運算子取乙個引用的位址時,其值為所引用變數的位址;而對指標使用&運算,取的是指標變數的位址。

指標引用和引用指標的區別

c 在傳參的過程中,指標 和指標引用 是有區別的。雖然,我們往往可以通過傳指標然後通過間址訪問來修改指標所指向物件的值,同樣,通過引用也可以直接修改物件的值。但是,當傳指標的時候有乙個問題,就是,我們雖然可以通過指標來修改指標所指向物件的值,但是我們沒有不能直接修改指標的內容 也就是指標變數存放的位...

傳指標和傳指標引用的區別 指標和引用的區別(本質)

指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...

傳指標和傳指標引用的區別 指標和引用的區別(本質)

指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...