常量使用關鍵字const修飾,如定義乙個整型常量:const int a = 10;
定義常量(兩種)
#define pi 3.14
//巨集定義
const
int maxscore =
100;
//const
指向常量的指標。定義如下兩種方式都行指向常量的指標的特點:(1)無法通過指標修改指向的資料;
(2)可以修改指標變數本身的指向;
(3)該指標能夠指向常量;
如下舉例說明:
const
int a =3;
int b =5;
const
int*pint =
&a;*pint =10;
//錯誤,無法修改
pint=
&b;//正確,可以改變指向
將乙個指向常量的指標傳遞給普通指標將會導致乙個編譯錯誤。
在指標定義語句的指標名前加const,表示指標本身是常量,稱為指標常量。格 式如下:
指標常量特點
(1)指標變數不允許修改
(2)指標變數指向的記憶體值可以修改
(3)修飾符const與《指標變數》緊鄰
int a =
0, b =0;
int*
const ptr =
&a;*ptr =1;
//正確
ptr =
&b;//錯誤
char strtext[32]
="head"
;char
*const strname=strtext;
strname=strname+2;
//錯誤,無法修改指向
*strname=
'n';
//正確,可以修改
*(strname+2)
='r'
;//正確
指向const型變數的const型指標變數。定義格式如下
特點:
(1)指標變數不可修改
(2)指標變數指向的記憶體值也不可修改
const
int maxscore =
100;
const
int*
const pcmax =
&maxscore;
//指向不能改,指向的內容也不能改
//pcmax = &math;//報錯,指向不能修改
//*pcmax = 150;//報錯,指向的內容不能修改
C C 指標常量和常量指標
常量指標 常量指標是指向常量的指標,指標指向的記憶體位址的內容是不可修改的。常量指標定義 const int p a p 告訴編譯器是常量,不能將 p作為左值進行操作。但這裡的指標p還是乙個變數,它的內容存放常量的位址,所以先宣告常量指標再初始化是允許的,指標也是允許修改的,例如 int a 0,b...
常量指標和指標常量 C C
按英文的字面意思,從右向左理解就比較清楚了 const char pointer 常量指標 底層const pointer to const 字面意思 指向常量的指標,不能通過這個指標修改指向的內容 char const pointer 指標常量 頂層const const pointer 字面意思...
C C 指向常量的指標和常量指標
由於之前沒有系統的看過書籍,導致概念混淆,由 c primer 中得到,const修飾指標有兩種形態,分別是指向常量的指標 pointer to const 和常量指標 const pointer ps 對之前看過此部落格的同學表示抱歉 int a 1 int b 2 const int p a 等...