指標常量和常量指標的區別

2021-08-30 17:43:31 字數 930 閱讀 1775

(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物件。...