下面3段程序代码的效果一样吗?
int b; (1)const int *a = &b; (2)int const *a = &b; (3)int *const a = &b;
这三段代码的效果 不完全一样。它们涉及到不同的const关键字位置,表示不同的含义。让我们逐一分析:
const int *a = &b; // *a 是 const,指向的内容不可修改,但 a 本身可以修改
int const *a = &b; // *a 是 const,指向的内容不可修改,但 a 本身可以修改
int *const a = &b; // a 是 const,指针不可修改,但 *a 可以修改