(1)指標常量:顧名思義它就是乙個常量,但是是指標修飾的。
格式:
int * const p //指標常量
例:
int a,b;
int * const p=&a //指標常量
//那麼分為一下兩種操作
*p= 9; //操作成功
p=&b; //操作錯誤,指標p將一直指向a,不能再指向b
因為宣告了指標常量,p代表乙個指標位址,因此指標變數不允許修改,但是指標所指的值即*p是可以修改的。如同次指標指向乙個位址該位址不能被修改,但是該位址裡的內容可以被修改」。
(2)常量指標
常量指標:如果在定義指標變數的時候,資料型別前用const修飾,被定義的指標變數就是指向常量的指標變數,指向常量的指標變數稱為常量指標。
格式:
const int *p = &a; //常量指標
例:
int a,b;
const int *p=&a //常量指標
//那麼分為一下兩種操作
*p=9; //操作錯誤,指標所指的值不能改變
p=&b; //操作成功
因為常量指標本質是指標,指標所指的物件的值,即*p不能修改,但是指標,即p是可以修改的。
小結:
a、關鍵要看const修飾的是誰int const 和 const int的寫法是一樣的
b、指標的話看const離誰( 是『*』 還是『指標變數名』)比較近就是修飾誰的,比如:
(a)const * p:表示帶*運算物件的是常量,也就是*p 不可變 (暗示p可變,p不帶『*』 嘛)
(b)* const p:表示變數名是常量 也就是p不可變 (暗示*p可變,const沒有修飾『*「 嘛)
常量指標和指標常量的區別
常量指標 如果在定義指標變數的時候,資料型別前用const修飾,被定義的指標變數就是指向常量的指標變數,指向常量的指標變數稱為常量指標,格式如下。const int p a 常量指標例項 int a,b const int p a 常量指標 那麼分為以下兩種操作 p 9 操作錯誤 p b 操作成功指...
區別 指標常量 指標變數 常量指標和常量指標常量
1.指標變數 指標值 即指標的指向 可以改變的指標,只能指向變數 2.指標常量 指標值 即指標的指向 不能改變的指標,只能指向變數,但可以修改指向的實體變數的值 3.常量指標 指向常量的指標,所以不能修改指向的實體的值,但可以修改指標的指向 即可以指向別的常量,必須是常量 4.常量指標常量 指向常量...
c 常量指標和指標常量區別
const double cptr 這裡的cptr是乙個指向double型別const物件的指標,const限定了cptr指標所指向的物件型別,而並非cptr本身。也就是說cptr本身並不是const。在定義時不需要對它進行初始化,如果需要的話,允許給cptr重新賦值,使其指向另乙個const物件。...