指向常量的指针变量
const 类型名 * 指针变量名;
int a = 12,b = 15;
const int *p1 = &a;//定义了p为指向整形变量a的指针变量
*p = 15;//试图通过p改变它指向的对象的值,非法
指向常量的指针变量只是限制了通过指针变量改变它指向的对象的值
常指针
指定指针变量的值是常量。即指针变量的指向不能更改
类型名 * const 指针变量名;
int a = 4;
int b = 6;
int *const p2 = &a;//p2只能指向变量a
p2=&b; //非法
注意
指针变量的指向不能改变,但指针变量的指向变量的值可以改变
指向常量的常指针
把以上两种作用叠加在一起,就是指向常量的常指针变量。即指针变量指向一个固定的对象,该对象的值不能改变。
const 基本类型名 * const 指针变量名
int a = 4;
int b = 6;
const int *const p3 = &a;//用了两个const
p3=&b; //非法
*p3 = 30;//通过p3改变a的值,非法