1、指標常量
如果在定義指標變數時候,指標變數前用const修飾,被定義的指標變數就變成了乙個指標型別的常變數,指標型別的常變數簡稱為指標常量。
格式如下
資料型別 * const 指標變數=變數名;
修飾符const與指標變數緊鄰,說明指標變數不允許修改,既然指標變數的值不能修改,所以一定要在定義的時候給定初值(指向乙個確定存在的地方) 如下
char * const p="abcdef";
p=null;//錯誤,指標常量不能再改變
p="1234";//錯誤
p=(char *)q;//錯誤
可以這樣理解
如:修改指向0x123456的內容 *p=『b』;//正確
2、常量指標
如果在定義指標變數的時候,資料型別前用const修飾,被定義的指標變數就是指向常量的指標變數,指向常量的指標變數稱為常量指標,格式如下
const 資料型別 *指標變數=變數名;
或者 資料型別 const * 指標變數=變數名;
定義乙個常量指標後,指標指向的值就不能被改變,即不能通過指標變數直接更改指標指向的值
const char *p="abcdef";
*p='1';//錯誤,檢視更改指標指向的值
p[1]='1';//錯誤
p=null;//正確,檢視修改指標的位置,而不是修改指標指向的內容
3、常指標常量
格式為
const 資料型別 * const 指標變數=變數名;
資料型別 const *const 指標變數=變數名;
指標不能改變,指標指向的值也不能改變
char *q;
const char * const p="abcdef";//定義了乙個常量常指標
q=p;//錯誤,試圖講乙個常指標賦值給非常指標
p=q;//錯誤,試圖修改指標常量的值,如1
*p=『1』;//錯誤,試圖修改指標指向的值,如2
p[1]='1';//錯誤,如2
p=null;//錯誤,如1
指標常量,常指標,指向常量的常指標
1.指標常量 從字面意思可以看出,指標是乙個常量,也就是位址不能被修改。int const p 特點是指標指向的數值可以改變,然而指標所儲存的位址卻不可以改變。include using namespace std void main int a 10 int const p a cout 我們可以...
指標常量,常指標,指向常量的常指標
1.指標常量 從字面意思可以看出,指標是乙個常量,也就是位址不能被修改。int const p 特點是指標指向的數值可以改變,然而指標所儲存的位址卻不可以改變。include using namespace std void main int a 10 int const p a cout 我們可以...
C 常量指標,指標常量,指向常量的常指標詳解
目錄 指標就是指向變數在記憶體中的位址 資料是存放在記憶體中的,每乙個變數都有乙個記憶體位址,假設是乙個int型別變數a,佔4個位元組的記憶體區,那麼在記憶體中如果是小端方式儲存,我們建立指標p,把a的位址賦值給p,就是把a的首位址0x1100賦值給指標p,這個時候p的值就是變數a在記憶體中的首位址...