首頁  >  文章  >  後端開發  >  引用和指標有什麼區別

引用和指標有什麼區別

王林
王林原創
2020-07-18 15:43:4611460瀏覽

引用和指標的區別是:1、程式為指標變數分配記憶體區域,而不為引用分配記憶體區域;2、引用在定義時初始化,之後無法改變,指標可以改變;3、指標使用時需要加“*”,引用可以直接使用。

引用和指標有什麼區別

首先指標和引用都是位址的概念,指標指向一塊內存,它的內容就是所指記憶體的位址;引用是某塊記憶體的別名。

(推薦教學:c語言教學

詳細介紹:

程式為指標變數分配記憶體區域,而不為引用分配記憶體區域。

指標使用時要在前加 * ,引用可以直接使用。

引用在定義時就被初始化,之後無法改變;指標可以改變, 即引用的物件不能改變,指標的物件可以改變。

沒有空引用,但有空指標。這使得使用引用的程式碼效率比使用指標的更高。因為在使用引用之前不需要測試它的合法性。相反,指針則應該總是被測試,防止其為空。

對引用使用「sizeof」得到的是變數的大小,對指標使用「sizeof」得到的是變數的位址的大小。

理論上指標的級數沒有限制,但引用只有一級。即不存在引用的引用,但可以有指標的指標。

int **p //合法
int &&p //非法

引用與 指標的效果不一樣。

例如就操作而言,對引用的操作直接反應到所指向的對象,而不是改變指向;而對指針的操作,會使指針指向下一個對象,而不是改變所指對象的內容。

以上是引用和指標有什麼區別的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn