1. 常量指针
指针指向一个常量对象,防止使用该指针来修改所指向的值,形式如下所示:
const int * p;
例:
int a = 10;
int b = 20;
const int * p = &a;
*p = 100; //非法,不允许改变常量指针所指向的值
p = &b; //合法,将常量指针执行另一个变量
2. 指针常量
将指针声明为常量,这样可以防止改变指针指向的位置。
int * const p;
例:
int a = 10;
int b = 20;
int * const p = &a;
*p = 100; //OK
p = &b; //非法
3. 指向常量的指针常量
这种情况既不可以修改指针所指向的值,也不可以改变指针的指向。
int a = 10;
int b = 20
const int * const p = &a;
*p = 100; //非法
p = &b; //非法