指標和引用的區別

2021-09-10 02:50:52 字數 580 閱讀 7763

1. 指標是乙個變數,這個變數之中儲存的是乙個位址,指向記憶體的乙個儲存單元;而引用跟原來的變數是乙個東西,是原來變數的別名;

int main()

上面定義了兩個變數a和b,還定義了乙個指標變數p,指向a的儲存單元,所以p的值是a儲存單元的位址;

下面還定義了乙個引用q,q和a事實上是同乙個東西,在記憶體中占有同乙個儲存單元;

2.引用不可以為空,當被建立的時候必須初始化,而指標可以是空值,也可以在任何時候初始化;

3.可以有const指標,但是沒有const引用;

4. 指標可以有二級指標,但是引用智慧型是一級,例入:int **p是合法的,但是int &&p 是不合法的;

5. 指標的值可以是空,但是引用的值不可以為空,並且引用在定義時候必須初始化;

6. 指標的值在初始化後可以改變,即可以指向其他的儲存單元,而引用在進行初始化之後就不能在改變了;

7. "sizeof(引用)"得到的是所指向的變數的大小,"sizeof(指標)"得到的是指標本身的大小,在32位系統中是4位元組,64位系統中是8位元組;

8.引用作為形參傳遞的話,傳遞的是它的實參。

指標引用和引用指標的區別

c 在傳參的過程中,指標 和指標引用 是有區別的。雖然,我們往往可以通過傳指標然後通過間址訪問來修改指標所指向物件的值,同樣,通過引用也可以直接修改物件的值。但是,當傳指標的時候有乙個問題,就是,我們雖然可以通過指標來修改指標所指向物件的值,但是我們沒有不能直接修改指標的內容 也就是指標變數存放的位...

傳指標和傳指標引用的區別 指標和引用的區別(本質)

指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...

傳指標和傳指標引用的區別 指標和引用的區別(本質)

指標傳遞引數本質上是值傳遞的方式,它所傳遞的是乙個位址值。值傳遞過程中,被調函式的形式引數作為被調函式的區域性變數處理,即在棧中開闢了記憶體空間以存放由主調函式放進來的實參的值,從而成為了實參的乙個副本。值傳遞的特點是被調函式對形式引數的任何操作都是作為區域性變數進行,不會影響主調函式的實參變數的值...