C語言 指標和引用的區別

2021-09-24 09:12:57 字數 463 閱讀 3764

指標和引用的區別

1.指標是乙個實體,而引用是乙個別名;在彙編上,引用的底層是以指標的方式實現的,定義乙個引用變數,相當於就是定義了乙個指標,然後把引用記憶體的位址寫到這個指標裡面,當通過引用變數修改它所引用的記憶體時,它先訪問了指標裡面的位址,然後在這個位址的記憶體裡面對值進行修改

2.指標可以不初始化,通過賦值可以指向任意同型別的記憶體;但是引用必須初始化,而且引用一經引用一塊記憶體,再也不能引用其它記憶體了,即引用不能被改變

3.在進行 sizeof 操作時, sizeof 指標在 32 位系統下永遠是 4 個位元組,而 sizeof 引用計算的 是它所引用記憶體的大小

4.引用是記憶體單元的別名,不是數值的別名。如int &a=10;//error,底層是指向10的位址,引用不能引用不能取位址的資料

5.引用只能使用引用變數所引用的資料,例如b是a的別名,b只能使用a的資料

C 引用和指標區別

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

C 引用和指標的區別

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

C 引用和指標的區別

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