常量:const int p = a;
常量指针:const int* p = &a;
、 int const *p = &a;
指针常量:int * const p = &a;
常量指针常量:const int * const p = &a;
-
const象征内容,* 象征地址
-
指针常量定义必须初始化
-
谁在前就先读,谁就不许变
-
常量指针:const修饰的是指针,指针指向可以改变,但是指针指向的值不能改变
-
指针常量:修饰的是常量,指针指向不可改变,但是在指针指向的值可以改变
-
常量指针常量:指针指向和指针指向的值均不可改变
int a = 10;
int b = 10;
//const修饰的是指针,指针指向可以改,指针指向的值不可以更改
const int * p1 = &a;
p1 = &b; //正确
//*p1 = 100; 报错
//const修饰的是常量,指针指向不可以改,指针指向的值可以更改
int * const p2 = &a;
//p2 = &b; //错误
*p2 = 100; //正确
//const既修饰指针又修饰常量
const int * const p3 = &a;
//p3 = &b; //错误
//*p3 = 100; //错误