(1)型別:引用是位址的資料元素,可以轉換成字串檢視,不用關心它的長度;指標是乙個裝位址的變數,它的長度是固定的,一般是乙個計算機字長
(2)所佔記憶體:引用申明時沒有實體,不占用空間;指標申明後用到才會賦值,用不到不會分配記憶體
(3)型別轉換:引用型別轉換可能不成功,執行時會丟擲異常或者編譯不通過;指標只是個記憶體位址,但可能所指的位址不是程式想要的
(4)初始值:引用初始值是null;指標是int型別,如果不初始化指標,它的值就會不固定,這樣很危險
(5)計算:引用是不能進行計算的;指標可以,如自加或自減,可以代替陣列下標
(6)控制:引用不可以計算,所以它只存在自己程式中,可以被控制;指標是記憶體位址,可以計算,所以它有可能指向乙個不屬於自己程式使用的記憶體位址,對於其他程式是很危險的,對自己而言也是不容易控制的
(7)記憶體洩漏:引用不會引起記憶體洩漏;指標容易產生記憶體洩漏,所以要及時**
(8)作為引數:函式內交換兩個引用是沒有意義的;指標可以作為引數給函式使用
C 引用和指標區別
一 引用簡介 引用就是某一變數 目標 的乙個別名,對引用的操作與對變數直接操作完全一樣。引用的宣告方法 型別識別符號 引用名 目標變數名 例1 int a int ra a 定義引用ra,它是變數a的引用,即別名 說明 1 在此不是求位址運算,而是起標識作用。2 型別識別符號是指目標變數的型別。3 ...
C 引用和指標的區別
很久沒寫過這類文章了,本來是想做下筆記,既然要做筆記,不如寫下部落格,就動起手來。文采不怎麼樣,還忘大家見諒 c 引用變數是c 中新增的一種復合型別,也就是說標準c語言中沒有引用變數。所謂引用,實際上就是乙個已定義變數的別名,別名我想大家小時候都有,應該可以理解,別名表示的是同乙個人,這裡引用變數和...
C 引用和指標的區別
c 引用和指標在間接使用其他物件的各種操作功能上面類似,但是兩者的不同之處也很明顯 1.指標本身佔據記憶體空間,但是引用只是乙個物件的別名,本身不分配記憶體空間 2.指標定義時可以不初始化,但是定義乙個引用必須進行初始化,並且初始化時只能是乙個物件 比如 int b 3.14 這樣是錯的,要明白 引...