const 修饰指针变量的时候:
1、自身类常性,const 如果放在 * 的右边,修饰的是指针变量 p,表示指针变量不能被改变,但指针指向的内容可以被改变。
int main()
{
const int num = 10;
//num = 20; //err
int* const p = #
int n = 100;
*p = 20; //ok
//p = &n; //err
return 0;
}
2、指向类常性,const 如果放在 * 的左边,修饰的是 *p,表示指针指向的内容不能通过指针来改变,但指针变量本身是可以修改的。
int main()
{
const int num = 10;
//num = 20; //err
const int* p = #
int n = 100;
*p = 20; //err
p = &n; //ok
return 0;
}
3、若 * 左右都有 const,则 *p 和 p 都不能改变。
int main()
{
const int num = 10;
//num = 20; //err
const int* const p = #
int n = 100;
*p = 20; //err
p =