具體的:
①從現象上看,指標在執行時可改變其所指向的值,而引用一旦和某個物件繫結後就不在改變。這句話可以這樣理解:指標可以被重新賦值以指向另乙個不同的物件。但是引用總指向在初始化時被指定的物件,以後不能改變,但是指定的物件內容可以改變。
②從記憶體上分配看,程式為指標變數分配記憶體區域,而不用為引用分配記憶體區域,引用宣告時必須初始化,從而指向乙個已經存在的物件,引用不能指向空值。
③從編譯上看,程式在編譯時分別將指標和引用新增到符號表上,符號表上記錄的是變數名及變數所對應位址。指標變數在符號表上對應的位址值是指標變數的位址值,而引用在符號表上對應的位址值是引用物件的位址值。符號表生成後就不會再改變,因此至真可以改變指向的物件(指標變數的值可以改),而引用物件不能改。這是使用指標不安全而使用引用安全的主要原因。
C 中引用與指標有什麼區別
1 從記憶體分配方面來講,系統為指標變數分配儲存空間,而引用與繫結的變數共享記憶體空間,系統不另外為引用變數分配儲存空間。指標是乙個實體,而引用僅僅是另乙個變數的別名。int main int argc,char argv 2 引用必須初始化,而指標不必,指標可以在需要的時候進行賦值。3 引用一旦初...
指標函式和函式指標有什麼區別
1,這兩個概念都是簡稱,指標函式是指帶指標的函式,即本質是乙個函式。我們知道函式都又返回型別 如果不返回值,則為無值型 只不過指標函式返回型別是某一型別的指標。其定義格式如下所示 返回型別識別符號 返回名稱 形式參數列 返回型別可以是任何基本型別和復合型別。返回指標的函式的用途十分廣泛。事實上,每乙...
指標函式和函式指標有什麼區別
指標函式和函式指標有什麼區別 1,這兩個概念都是簡稱,指標函式是指帶指標的函式,即本質是乙個函式。我們知道函式都又返回型別 如果不返回值,則為無值型 只不過指標函式返回型別是某一型別的指標。其定義格式如下所示 返回型別識別符號 返回名稱 形式參數列 返回型別可以是任何基本型別和復合型別。返回指標的函...