常量指標和指標常量有什麼區別

2021-06-27 21:52:29 字數 496 閱讀 9737

int a;

int * const p = &a //指標常量,*p可以修改*p = 8;(ok)

p不可以修改 p++(error)

int a,b;

const int *p = &a;//常量指標 *p不可修改 *p = 8;(error)

p 可以修改 p = &b (ok)

還有一種

const int * const p = &a; // *p 和 p均不可改變了

關鍵要看const修飾的是誰

int const const int的寫法是一樣的

指標的話看const離誰( 是『*』 還是『指標變數名』)比較近就是修飾誰的,比如

const * 表示帶*運算物件的是常量,也就是*p 不可變 (暗示p可變,p不帶『*』 嘛)

* const 變數名 表示變數名是常量 也就是p不可變 (暗示*p可變,const沒有修飾『*「 嘛)

區別 指標常量 指標變數 常量指標和常量指標常量

1.指標變數 指標值 即指標的指向 可以改變的指標,只能指向變數 2.指標常量 指標值 即指標的指向 不能改變的指標,只能指向變數,但可以修改指向的實體變數的值 3.常量指標 指向常量的指標,所以不能修改指向的實體的值,但可以修改指標的指向 即可以指向別的常量,必須是常量 4.常量指標常量 指向常量...

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

1 指標常量 顧名思義它就是乙個常量,但是是指標修飾的。格式 int const p 指標常量例 int a,b int const p a 指標常量 那麼分為一下兩種操作 p 9 操作成功 p b 操作錯誤,指標p將一直指向a,不能再指向b因為宣告了指標常量,p代表乙個指標位址,因此指標變數不允許...

c 常量指標和指標常量區別

const double cptr 這裡的cptr是乙個指向double型別const物件的指標,const限定了cptr指標所指向的物件型別,而並非cptr本身。也就是說cptr本身並不是const。在定義時不需要對它進行初始化,如果需要的話,允許給cptr重新賦值,使其指向另乙個const物件。...