c 指標和引用的區別

2021-10-13 23:09:42 字數 458 閱讀 7782

1.指標是變數,占用4位元組的空間,用於儲存位址.引用只是被引用物件的別名.

2.指標可以多級(多級指標**p),引用只有一級(如果對引用進行引用,被引用物件是同乙個東西).

3.指標可以初始化為空(null),引用必須用例項引用初始化(不能為空).

4.指標可以修改指向的物件,引用不能.

5.指標++是指向的位置移動,引用++是被引用物件的值++.

6.函式傳參的時候指標是拷貝(指標傳遞本質上是值傳遞,傳遞位址值),引用是引用傳遞.

7.指標需要解引用才可以對物件進行操作,引用則可以直接進行操作.

8.引用是型別安全的,引用過程會進行型別檢查.而指標不會進行安全檢查.

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

如果分配的空間比返回型別的空間大,delete後還會剩餘一部分空間沒有被釋放掉,造成記憶體洩漏.

10.待補充

C 引用和指標區別

一 引用簡介 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 ...

C 引用和指標的區別

很久沒寫過這類文章了,本來是想做下筆記,既然要做筆記,不如寫下部落格,就動起手來。文采不怎麼樣,還忘大家見諒 c 引用變數是c 中新增的一種復合型別,也就是說標準c語言中沒有引用變數。所謂引用,實際上就是乙個已定義變數的別名,別名我想大家小時候都有,應該可以理解,別名表示的是同乙個人,這裡引用變數和...

C 引用和指標的區別

c 引用和指標在間接使用其他物件的各種操作功能上面類似,但是兩者的不同之處也很明顯 1.指標本身佔據記憶體空間,但是引用只是乙個物件的別名,本身不分配記憶體空間 2.指標定義時可以不初始化,但是定義乙個引用必須進行初始化,並且初始化時只能是乙個物件 比如 int b 3.14 這樣是錯的,要明白 引...