|
马上注册,结交更多好友,享用更多功能^_^
您需要 登录 才可以下载或查看,没有账号?立即注册
x
const限定符:
定义的一般形式:
const 数据类型 常量名 = 常量值;
数据类型 const 常量名 = 常量值;
举例:
const float PI = 3.14159f;
注意事项:
1. 常变量在定义时必须初始化;
2. 常变量初始化之后,不允许再被赋值;
const限定符与指针
const int * p; //const在*左边,表示*p为常量,不可更改(经由*p不能更改指针所指向的内容)
//但指针p还是变量,想怎么变都可以。这就是所谓的底层const
举例:
int b = 22;
const int * p;
p = &b;
//* p = 200; //Error *p是常量,不能再对常量赋值
int * const p = &b;//在声明的同时必须初始化,const在*的右边,表示p为常量,p所指向的地址
//是不可更改的,所以当把b的地址赋值给它时,会报错。这也就是所谓的顶层const
举例:
int b = 33;
int c = 22;
int * const p = &b;//在声明的同时必须初始化,const在*的右边,表示p为常量,p所指向的地址
//是不可更改的,所以当把b的地址赋值给它时,会报错
//p = &c; //Error p为常量
const int *const p;//这个就相当于以上两种情况的混合体,p是常量,
//所以不能把test2的地址赋给p;同时*p也是常量,所以*p的内容不可更改;
举例:
int test1 = 10;
int test2 = 20;
const int * const p = &test1;
p = &test2; //Error,p是常量,所以不能把test2的地址赋给p;
*p = 30; //Error,*p是常量,所以*p的内容不可更改;
|
|