C++常量指針、指針常量
記憶法:
常量指針表示方法:
-
const double * p = &a; //const讀作常量,*讀作指針,常量指針
-
double const *p = &a;
指針常量通常表示爲:
double * const ptr; //const讀作常量,*讀作指針,指針常量
指針常量
int* const p = &a;
首先是一個常量,然後是指針類型的,常量必須初始化指向一個地址。
指向的內容可以修改,指向的地址不能修改。
int main()
{
int a = 1;
int b;
int* const p = &a; //指針常量p,初始化指向a的地址
*p = 9;
// p = &b; //編譯錯誤,指針常量指向的地址不能被修改,指向地址的內容可以修改
cout<<"a="<<a; //a的值被修改爲 9
return 0;
}
常量指針
const int* p = &a;
int const* p = &a;
首先是一個指針,是指向常量的指針變量。
在定義指針的時候,數據類型前用const修飾,被定義的指針變量就是指向常量的指針變量,指向常量的指針變量稱爲常量指針。
指向常量的指針變量,指向的常量值不能修改,但指針指向的地址可以修改。
int main()
{
int a,b;
const int* q = &a;
*q = 9; //操作錯誤,指向常量的指針變量,常量的值不能修改。
q = &b; //操作成功,指針的地址可以修改
return 0;
}