(1)、int* const p;
const修饰p,表示p不能被修改;指针常量,const int a;
(2)、const int *p、int const *p;
const 修饰*p, *p不能被修改(即不能通过指针间接修改它“指向”的数据);常量指针->指向常量的指针。
示例
char a = 'q';
char b = 'o';
char* const pp = &b; //p:指针常量,const修饰p,p不能被修改
//p = &a; //error
int aa = 1;
int bb = 2;
int const *ppp = &aa;//*ppp不能被修改 ppp:常量指针
aa = 10;
//*ppp = 20; //error,不能通过pp间接对它指向的数据进行修改
ppp = &bb;
const int* pppp = &aa;
//*pppp = 20; //error
pppp = &bb;