#include<iostream>
using namespace std;
//const修饰的指针
int main(){
int a = 10;
//const int *p 和int const *p 是一样的。
//const修饰的是 *,表明指针所指向的地址中的数据不可修改,但可以修改指针所指向的地址
const int *p = &a;
int const *p2 = &a;
//下面这两行会报错
*p = 100;
*p2 = 100;
//可以修改指针所指向的地址
p = NULL;
//const修饰的是 p3,表明指针所指向的地址不可修改,但可以修改指针所指向的地址中的数据
int* const p3 = &a;
p3 = NULL;//报错
*p3 = 100;//不报错
const既修饰p又修饰*,表明指针所指向的地址和指针所指向的地址中的数据均不可修改
const int* const p4 = &a;
p4 = NULL;//报错
*p4 = 100;//报错
}