const表示常量,主要作用是防止定义的对象被再次修改,而且定义的变量需要初始化。
今天下午对const关键字仔细分析并且验证后,做了一个小结,特此分享,如有不当之处,还望指正。
// 在基本数据类型中,const有两种写法,意义相同;
1)
int const num = 1;
num = 10;//错误,num的值不可被修改;
2)
const int num = 2;
num = 20;//错误,num的值不可被修改;
// 在指针类型中,const有三种写法,前两种写法意义相同;
int num = 3;
int x = 5;
1) const int *p = # //表示不允许使用指针修改num原来的值;
p = &x; //正确,p的值可以被改变;
num = 30 ; //正确,num的值没有通过指针来修改;
*p = 40; //错误,不能使用指针p修改原来num的值;
2) int const *p = # //同1)
3) int * const p = #
*p= 15; //正确,可以使用指针p来修改原来num的值;
p= &x; //错误,不能使用指针p指向新的变量;
4)const int * const p= num; //表示既不能通过指针p来修改原来的值,也不能将p重新指向新的变量;
num = 30; // 正确,可以修改;
p = &x; // 错误,不能使用指针p重新指向新的变量;
*p = 30; // 错误,不能使用p修改原来num的值; |
|