定义变量
int a = 1;
int b = 2;
常量指针:
顾名思义,指向常量的指针(a pointer to const int),不能通过该指针修改变量的值(不通过该指针仍然可以修改)
const int * p1 = &a; // *p1为const,即指针指向的值为const
*p1 += 1; // 错误,试图通过p1修改a的值
p1 = &b; // 正确,可以修改p1的指向
a += 1; // 正确,没有通过p1修改a的值
指针常量:
翻译问题,实际上应该翻译为 “常指针”(a const pointer to int),可以通过该指针修改变量的值,但是不能指向其他变量
int * const p2 = &a; // p2为const,即指针本身为const
*p2 += 1; // 正确,可以通过p2修改a的值
p2 = &b; // 错误,试图修改p2的指向
标签:p2,p1,const,常量,区别,int,指针 From: https://www.cnblogs.com/wkxnk/p/17387687.html