char* const p1: p1是常量(存放char型地址)(必须赋初值),指向char型
const char* p2: p2是指针变量,指向常量char型(指向地址的内容不可改变)
const char* const p3: p3是常量(存放char型地址)(必须赋初值), 且指向常量(指向地址的内容不可改变)
void main() { const int a=3;//a是常量对象 int const b=a;//b是常量对象 char* p1=new char; char* const p2="123";//p2是常量对象(常指针,常量),必须赋初值 const char* p;//指向常量的指针变量(本身的值可以改变即指向可以改变),指向的地址的内容不能改变 p=p1; p="123"; // p[0]='d';//error const char* const p3="123";//指向常量的常指针,是常量(必须赋初值)且指向的地址的内容也是常量(不可改变) //p3[0]='f';//error char const *p4;//p4是指向常量的指针变量,等同于 const char* p }