常量指標?指標常量?

2021-08-14 23:39:18 字數 796 閱讀 8300

今天學習c++的時候,遇到了兩個問題:常量指標?指標常量?我的天啊看了好些遍書本還是模模糊糊的。在網上找了一些網友寫的文章,才恍然大悟。

區別:const   int  *prt   和   int   *const prt。

const   int  *prt 稱為常量指標 (指向常量的指標)

int   *const prt  稱為指標常量  (該指標就是常量)

例子:

//常量指標 :指向常量的指標

const int *pi;

int ival1 = 30;

int ival2 = 40;

pi = &ival1; //指標指向ival1

cout<

pi指向的位址可以被修改(重新指向另乙個位址),但不能通過*pi 方式來改變變數的值。

有網友的解釋是: const 修飾了*pi  (區分一下 *pi  和pi),所以*pi是乙個常量,不能通過*pi方式來改變值

而pi並沒有被修飾,所以pi是乙個變數,所以能被重新賦值。

//指標常量(該指標就是常量)

int ival1 = 30;

int ival2 = 40;

int *const prt = &ival1;

cout << "指向ival1 :"<

按照上面的解釋可以得到: const 修飾了prt,所以prt是乙個常量,不能被重新賦值。

而*prt 沒有被const修飾,所以*prt 是變數,能通過*prt方式重新賦值。

常量指標 指標常量

int const p 表示p是乙個指向常量的指標,這種情況下,編譯器會講p所指向的物件當作常量處理,即便不是常量。所以無法改變其指向的物件的值,但是指標本身的值即其指向可以發生改變。int const p 表示指標是乙個常量,其本身值 即其指向 不可以修改,但是其指向的值 無論是常量還是變數 可以...

指標常量 常量指標

指標常量 指向常量的指標 const int pa int const pa 兩者等價。因為指向常量的指標有時候會指向常量,所以它具有這個性質 不能靠解引用改變它指向的物件的值 以此保護它所指向的常量的常量性。pa d 不可行 d是已經宣告過的整型 但指標本身的值是可變的 pa d 可行 d是已經宣...

常量指標,指標常量,野指標

在我看來,不必太糾結於常量指標和指標常量的漢語名稱,一定要記住用法就好了。記有一指標,p表示位址,p表示值。1 常量指標 書寫方式有const int p或者int const p。在這種情況之下,const始終在 p之前,也就是說const 常量 修飾 p 指標的值 p不能修改,就是說該指標指向的...