C 指標與引用的區別

2021-08-25 08:06:27 字數 412 閱讀 3884

先說原理:

指標是乙個記憶體中的實體,它的儲存物件是它指向的物件的位址;

引用並不是乙個實體,它只是另乙個變數的乙個別名。

根據原理的不同,他們有不同的特性:

1、指標是乙個實體,需要分配記憶體空間。引用只是變數的別名,不需要分配記憶體空間。

2、引用在定義的時候必須進行初始化,並且不能夠改變。指標在定義的時候不一定要初始化,並且指向的空間可變。(注:不能有引用的值不能為null)

3、有多級指標,但是沒有多級引用,只能有一級引用。

4、指標和引用的自增運算結果不一樣。(指標是指向下乙個空間,引用時引用的變數值加1)

5、sizeof 引用得到的是所指向的變數(物件)的大小,而sizeof 指標得到的是指標本身的大小。

6、引用訪問乙個變數是直接訪問,而指標訪問乙個變數是間接訪問。

C 指標與引用的區別

以前對指標和引用的區別沒有清楚的認識,看了此文之後對指標和引用的區別有了更深刻的了解。特將此文儲存下來,以便日後再讀。指標與引用看上去完全不同 指標用操作符 和 引用使用操作符 但是它們似乎有相同的功能。指標與引用都是讓你間接引用其他物件。你如何決定在什麼時候使用指標,在什麼時候使用引用呢?首先,要...

C 指標與引用的區別

1.非空區別。在任何情況下都不能使用指向空值的引用。乙個引用必須指向某些物件。比如說說下面的程式為錯誤的。int a error 指標可以指向乙個空的變數。int p correct int pp null correct 2.合法性區別。在使用引用之前不需要測試其合法性。相反,指標則應總被測試,防...

C 指標與引用的區別

指標與引用是c 中兩個很重要的概念,它們功能看過去很相似,就是都是間接引用某個物件,那麼我們應該在什麼時候使用指標,什麼時候使用引用呢,下面請允許我慢慢道來 1.永遠不要使用乙個指向空值的引用。乙個引用必須始終指向某個物件,所以當你確定使用乙個變數指向某個物件時,但是這個物件在某些時間可能指向空值,...