常量的常指针
常量的常指针,意味着不能修改指针的指向,并且不能通过当前指针修改变量的值。常量的常指针定义形式如下:
const 指针变量类型 *const 指针变量
示例代码如下:
int a = 1;
int b = 2;
const int * const p = &a;
*p = 3; //错误
p = &b; //错误
上述代码中既不允许通过指针p修改变量a的值,也不允许修改指针变量p的指向。
小提示:区分指针常量和常量指针时,可以去掉指针类型,观察const关键字修饰的对象,如果修饰指针类型则是常量指针,如果修饰的时指针变量则是指针常量。此外,使用一级指针,可以间接修改const修饰的变量的值,二级指针也可以间接修改常量的值。这样做破坏了原来数据作为只读的目的,没有实际的意义。