1、常量指针
指向常量的指针变量的定义和使用
如:const int *p;
2、指针常量
如:char* const p = "abcde";
可以这么理解:const p的类型式char*,所以p是不可以再修改的。也就是所p必须是在定义时就已经初始化,并且不能再修改了。
3、指向常量的指针常量
指向常量的指针常量
如:const int* const p = &b;
可以这么理解int* const p的类型时const,那么也就是所int* const p是不可以修改的。
再看int* const p.const p的类型是int*,也就是p是不可以再修改的,并且它的类型是int*.
总结:
不管指针的命名怎么变,都要把它分解开了看待。从最外的一层开始,一层一层往里面走,用“类型-对象”的眼光去看待这些命名。