C 中指向常量的指標與常量指標

2021-10-18 03:51:21 字數 814 閱讀 5103

const

double pi =

3.14

;double

*ptr =

π// 錯誤,只能使用指向常量的指標指向常量

const

double

*ptr =

π// 正確

*ptr =

3.33

;// 錯誤,不可以賦值

指向常量的指標同樣也可以指向非常量:

double x =

11.11

;// 非常量

const

double

*ptrx =

&x;// 正確,只不過無法給*ptrx賦值

*ptrx =

12.3

;// 錯誤

這種情況可以理解為:指標自以為指向的是常量。

int errnumb =0;

int*

const curerr =

&errnumb;

// 指標一直指向errnumb的位址

const

double p =

3.23

;const

double

const

*ptr =

&p;

弄懂上述宣告的最好方法,從右往左讀。

C 中指標常量與常量指標

指標是一種特殊的變數,它裡面儲存的內容是記憶體位址。常量是指其裡面儲存的內容不能發生改變的量。明白了這兩個概念後,我們現在正式進入指標常量與常量指標。1.指標常量與常量指標的概念 指標常量就是指標本身是常量,換句話說,就是指標裡面所儲存的內容 記憶體位址 是常量,不能改變。但是,記憶體位址所指向的內...

c 常量指標與指向常量的指標

這是兩個初學者容易混淆的概念。比如,t pt new t const t pct pt 指向常量 const t 的指標 t const cpt pt 常量指標,指向t 不過使用乙個引用比使用乙個常量指標更簡單 const t rct pt 不用const t const t rt pt 不用t c...

c 中指標常量,常指標,指向常量的常指標區分

const char myptr char a 指向常量的指標 char const myptr char a 常量的指標 const char const myptr char a 指向常量的常量指標 從字面意思可以看出,指標是乙個常量,也就是位址不能被修改。include using names...