const修饰指针的三种情况:
1.const修饰指针----常量指针
2.const修饰指针----指针常量
3.const既修饰指针又修饰常量
4.总结:看const右侧紧跟着的是指针还是指针常量 ,是指针就是常量指针,是常量就是指针常量。
5.代码
#include<iostream>
using namespace std;
int main()
{
int a = 10;
int b = 10;
/* 1.const修饰指针 常量指针*/
const int* p1 = &a;
//指针指向的值不可变,指针的指向可以改变
//*p = 20; // 错误,表达式必须是可以修改的左值
p = &b; //正确
/* 2.const修饰常量 指针常量*/
int* const p2 = &a;
//指针的指向不可以改,指针指向的值可以修改
*p2 = 100; //正确
//p2 = &b; //错误
/* 3.const修饰指针和常量*/
const int* const p3 = &a;
//指针的指向和指针指向的值都不可以修改
//*p3 = 100; //错误
//p3 = &b; //错误
return 0;
}