1、指向const对象的指针
const double *p;//指向的必须是const的对象
2、const指针
double * const p = π//必须初始化
3、指向const对象的const指针
const double * const p = &a;//必须初始化,且指向的必须是const的对象
4、指针和typedef
typedef string *pstring;
const pstring cstr = &a;//cstr是const指针
就像const int a; 等同于 int const a;
const pstring cstr = &a; 等同于 pstring const cstr = &a;
pstring const cstr = &a; --->const是修饰cstr的,所以cstr是常量;
巧记:const是修饰右边的变量名
const double *p;//右边的变量名是*p,就是说p指向的对象是const对象
double const *p;//右边的变量名也是*p,因此上面和这个一样
double * const p;//右边的变量名是p,因此p是常指针