int a=1;
常量指针: int const *p=&a;
常量指针可以理解为指向常量的指针,不能通过指针来改变常量的值; E: *p=5; 错误 ,并且p指向的地址可以改变
int b=5;
指针常量:int *const p=&b;指针常量一旦指向某个地址空间,它的地址将永远不会改变,也可以用它来改变空间存储的值 *p=10 ;正确
#include<iostream>
using namespace std;
int main()
{
int a=3;
int b=1;
int c=2;
int const *p1=&b; // constant point
int *const p2=&c;//point constant
cout<<"old address:"<<endl;
cout<<" &a = "<< &a << " a = "<< a <<endl;
cout<<" &b = "<< &b << " b = "<< b <<endl;
cout<<" &c = "<< &c << " c = "<< c <<endl;
cout<<" p1 = "<< p1 << " p2 = "<< p2 <<endl;
cout<<" *p1 = "<< *p1 << " *p2 = "<< *p2 <<endl;
// b=13;
p1=&a; //const point can change
//b=11;
b=11;
cout<<"now address:"<<endl;
cout<<" p1 = "<< p1 << " *p1 = "<< *p1 <<endl;
//c=22;
*p2=22;
cout<<" p2 = "<< p2 << " *p2 = "<< *p2 <<endl;
cout <<" c = "<< c <<endl;
return 0;
}