實例演示int *const p與const int *p的區別

直接上例子:

實例1:
const int a = 1;
const int b = 2;
int c = 3;
int d = 4;
//int *const p = &a; //錯誤,表明不可以取a和b的地址
int *const p = &c; //正確,表明取c和d的地址
*p = 9; //正確,在使用過程中可以改變所指向地址的內容

實例2:
const int a = 1;
const int b = 2;
int c = 3;
int d = 4;
int *const p = &c;
// p = &d; //錯誤,在使用過程中不可以更改指針所指向的地址;

總結:int *const p=&a; a必須爲變量,必須取變量的地址,也可以改變變量a的內容,並在使用的過程中一直指向a變量的地址,不再更改。

實例3:
const int a = 1;
const int b = 2;
int c = 3;
int d = 4;
const int *p = &a; //正確,表明可以取a和b的地址;
int *const p = &c; //正確,表明可以取c和d的地址;

實例4:
const int a = 1;
const int b = 2;
int c = 3;
int d = 4;
const int *p = &c; //正確,表明可以取a和b的地址;
*p = 9; //錯誤,在使用過程中不可以更改指針所指向地址的內容;
p = &d; //正確,可以在使用過程中更換所指向的地址;

總結:const int *p=&a; 對a沒有要求,也可以在使用的過程中更換所指向的地址,與一般的指針只有一點不同,即不可以通過指針更改指針裏面所指向的內容;

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章