1. 程式人生 > >指向常量的指標和常量指標

指向常量的指標和常量指標

版權宣告:本文為博主原創文章,未經博主允許不得轉載。 https://blog.csdn.net/sinat_26448309/article/details/75226971

在c\c++中用關鍵字const來定義一個只讀的變數和物件,它有如下的優點:

1.fun(const int var ){...}不予許對傳入的引數進行修改,用於保護實參。

2.有如有一個巨集定義,或者類似於靜態變數,const int var2 = 1573,方便進行修改;

3.節省記憶體,const定義只需佔用一小塊記憶體,之後使用該變數無需重新分配記憶體,如:va1 = var2;va2 = var2;

定義常量指標、指標常量,他們是如何區分的呢?

我在網上看到這麼一句話:(指標)和 const(常量) 誰在前先讀誰 ;*象徵著地址(指標),const象徵著指標所指向的內容;誰在前面誰就不允許改變。

 

 
  1. int a = 1;

  2. int b = 2;

  3. int c = 3;

  4. int const *p1 = &a;//定義一個指向常量的指標

  5. int *const p2 = &b;//定義一個常量指標


 

 

 

指向常量的指標p1:  p1 = &c:正確,可以修改p1的指向的地址;p1 = 3:錯誤,不能修改該地址所儲存的值。

常量指標p2:  p2 = &c:錯誤,不能修改p2指向的地址;*p2 = 3 :正確。