const修饰指针时:
通俗理解:
1.当const位于*左边时(内容不可修改),表示指针所指向的当前地址是不可修改的,即不可以通过指针修改指向的地址值。但指针可以指向其他地址。
2.当const位于*右边时(指针本身不可修改),表示当前指针不可修改,即指针只能指向当前所指的地址,也可以通过该指针对指向的地址值进行修改。
#include <iostream> sing namespace std; int main(int argc, char** argv) { int a=20; int b=10; int const *c=&a; //不能通过指针对其内容进行修改 a=30; c=&b; cout<<*c<<" "<<a;
--------将下面的代码覆盖掉上面的代码 int a=20; int *const c=&a; //指针只能指向当前地址,不可修改 int b=10; *c=30; cout<<a; return 0; }