一 常量關鍵字(const)
常量使用關鍵字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;//報錯,指向的內容不能修改