本質:
引用是別名,指標是位址
具體:
1、從現像上看,指標在運行時可以改變其所指向的值,而引用一旦和某個物件綁定後就不再改變。這句話可以理解為:指標可以被重新賦值以指向另一個不同的物件。但是引用則總是指向在初始化時被指定的對象,以後不能改變,但是指定的對像其內容可以改變。
2、從記憶體分配上看,程式為指標變數分配記憶體區域,而不為參考分配記憶體區域,因為引用宣告時必須初始化,從而指向一個已經存在的物件。引用不能指向空值。
3、從編譯上看,程式在編譯時分別將指標和引用加到符號表上,符號表上記錄的是變數名稱及變數所對應位址。指標變數在符號表上對應的位址值為指標變數的位址值,而引用符號表上對應的位址值為引用物件的位址值。
符號表生成後就不會再改,因此指標可以改變指向的物件(指標變數中的值可以改),而引用物件不能改。這是使用指標不安全而使用引用安全的主要原因。從某種意義上來說引用可以被認為是不能改變的指標。
4、不存在指向空值的引用這個事實,意味著使用引用的程式碼效率比使用指標的要高。因為在使用引用之前不需要測試它的合法性。相反,指針則應該總是被測試,防止其為空。
5、理論上,對於指標的級數沒有限制,但是引用只能是一級。如下:
int** p1; // 合法。指向指针的指针 int*& p2; // 合法。指向指针的引用 int&* p3; // 非法。指向引用的指针是非法的 int&& p4; // 非法。指向引用的引用是非法的
注意!上述讀法是從左到右。
推薦教學:PHP影片教學
以上是php引用和指標的區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

SecLists
SecLists是最終安全測試人員的伙伴。它是一個包含各種類型清單的集合,這些清單在安全評估過程中經常使用,而且都在一個地方。 SecLists透過方便地提供安全測試人員可能需要的所有列表,幫助提高安全測試的效率和生產力。清單類型包括使用者名稱、密碼、URL、模糊測試有效載荷、敏感資料模式、Web shell等等。測試人員只需將此儲存庫拉到新的測試機上,他就可以存取所需的每種類型的清單。

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

WebStorm Mac版
好用的JavaScript開發工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

禪工作室 13.0.1
強大的PHP整合開發環境