指針常量

指針常量

指針常量的本質是一個常量,並且使用指針來修飾它,那么說明這個常量的值應該是一個指針,其格式應為:int * const p,

基本介紹

  • 中文名:常量指針
  • 外文名:constant pointer
  • 屬性:常量
  • 格式:int * const p
  • 出於:C/C++
而常量指針本質是指針,並且這個指針乃是一個指向常量的指針。其格式為:int const * p或者 const int* p.
指針常量的值是指針,這個值因為是常量,所以不能被賦值。
在C/C++中,指針常量這樣聲明:
int a;
int *const p = &a; //const放在指針聲明操作符的右側
只要const位於指針聲明操作符右側,就表明聲明的對象是一個常量,且它的內容是一個指針,也就是一個地址,並且在聲明的時候一定要給它賦初始值。一旦賦值,以後這個常量再也不能指向別的地址。
常量指針的使用要注意,指針指向的對象不能通過這個指針來修改,可是仍然可以通過原來的聲明修改,也就是說常量指針可以被賦值為變數的地址,之所以叫做常量指針,是限制了通過這個指針修改變數的值。例如:
int a = 2014;
const int b = 2015;
const int *c = &a; // 這是合法的,非法的是對c的使用
*c = 2016; // 非法,但可以這樣修改c指向的對象的值:a = 2016;
const int *d = &b; // b是常量,d可以指向b,d被賦值為b的地址是合法的
const(*號)左邊放,我是指針變數指向常量;
const(*號)右邊放,我是指針常量指向變數;
const(*號)兩邊放,我是指針常量指向常量;
指針變數能改指向,指針常量不能轉向!
要是全都變成常量,鎖死了,我不能轉向,你也甭想變樣!
* (指針)和 const(常量) 誰在前先讀誰 ;*象徵著地址,const象徵著內容;誰在前面誰就不允許改變。

相關詞條

熱門詞條

聯絡我們