1.存在空指標,但是不存在空引用。
2.指標可以不初始化,而引用必須初始化,並且,引用的目標一旦確定,後面不能再更改,指標可以更改其指向的目標。
3.指標是乙個實體,而引用僅是個別名。
4.引用是型別安全的,而指標不是 (引用比指標多了型別檢查)
5.指標和引用的自增(++)運算意義不一樣,對引用的操作直接反應到所指向的物件,而不是改變指向;而對指標的操作,會使指標指向下乙個物件,而不是改變所指物件的內容。
6.存在指標陣列 ,不存在引用陣列,不允許使用引用陣列,因為引用沒有記憶體的分配。
7.引用傳遞過程中,被調函式的形式引數作為區域性變數在棧中開闢記憶體空間,但是這時存放的是由主調函式放進來的實參變數的位址
;
同樣,指標傳遞引數時,指標中存放的也是實參的位址
,但是在被調函式內部指標存放的內容可以被改變
,即可能改變指向的實參
,所以並不安全,而引用則不同,它引用的物件的位址一旦賦予,則不能改變。
跑一跑,然後對比理解看看。
#include using namespace std;
int main()
{ /*
指標和引用使用細節
*/cout<<"指標和引用使用細節: "《也可以這樣記:
有疑問時多看看(推薦):c++中引用,指標,指標的引用,指標的指標
指標 常量指標和指標常量
const關鍵字宣告乙個常量,常量宣告後不能修改。類似的,我們可以宣告常量指標 double radius 5 double const pvalue radius pvalue 4 可以修改其中pvalue是乙個常量指標,其宣告和初始化必須在同一條語句中,後面的程式不能為其賦予新的位址。注意,雖然...
常量指標 和 指標常量
在c 的學習中,有人經常搞不清楚 常量指標 和 指標常量 這兩個概念。其實簡單一點講,常量指標 所指向的位址上的資料是常量,而 指標常量 所指向的位址是常量,位址上面的資料是可以變化的。常量指標,表述為 是常量的指標 它首先應該是乙個指標。指標常量,表述為 是指標的常量 它首先應該是乙個常量。指標常...
常量指標和指標常量
定義 具有只能夠讀取記憶體中資料,卻不能夠修改記憶體中資料的屬性的指標,稱為指向常量的指標,簡稱常量指標。宣告 const int p int const p 注 可以將乙個常量的位址賦值給乙個對應型別的常量指標,因為常量指標不能夠通過指標修改內粗資料。只能防止通過指標引用修改記憶體中的資料,並不保...