C 之指標常量和常量指標區別

2021-10-07 01:36:56 字數 1086 閱讀 7938

總結

int a=1;

//整型變數

const

int b=2;

//常量

intconst b=2;

//這裡定義和上面定義是乙個意思,建議按照上面的規範寫**

int

*p;//普通整型指標

p=&a;

//另一種形式,意思與上兩句定義完全一樣,只是為了和指標常量對比

int*p=

&a;*p=2;

//可以更改指標指向變數的值,相當於變數a的值被更改為2

int c=3;

p=&c;

//也可以更改指標的指向,相當於由指向變數a轉變為指向變數c

/****以下**不能通過-----我是分割線****/

p=&b;

//因為變數b是常量,所以此處賦值會報錯。普通指標不能指向常量

const

int*c_p;

c_p=

&a;//另一種形式,意思與上兩句定義完全一樣,只是為了和指標常量對比

const

int*c_p=

&a;

c_p=

&b;//更改指標的指向,常量指標可以指向常量

/****以下**不能通過-----我是分割線****/

*c_p=3;

//因為c_p是常量指標,所以不能更改指向的變數的值

int

*const p_c=

&a;*p_c=1;

/****以下**不能通過-----我是分割線****/

int*

const p_c;

p_c=

&a;//因為是指標常量,所以需要在定義時就賦好初值

int d=1;

p_c=

&d;//因為是指標常量,所以在定義賦值好初值之後,不能再更改指向

int*

const p_c=

&b;//指標常量不能指向普通常量

區別是指標常量還是常量指標可以看const和*的位置,按照從左往右讀,先看到誰就讀誰。

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

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

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

首先是乙個常量,其次該常量是個指標。因為是乙個指標型別的常量,所以定義時必須初始化乙個變數的位址,且始終指向該位址不能被更改即只能賦值一次,但位址中存放的內容可以被更改。通過以下例子了解指標常量的特性 int a,b int const p a 指標常量初始化 p 10 操作成功,指標常量所指位址的...

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

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