常量指针和指针常量

cosnt int* 常量指针

1
2
3
4
5
int a=0,b=1;
const int *p; //声明常量指针p
p=&a; //p指向a
p=&b; //修改指针p让其指向b,允许
*p=2; //不允许

int *const 指针常量

1
2
3
4
5
6
7
8
9
10
11
12
13
int a=0,b=1;
int *const p1=&a;
int *const p2; //不允许,必须对其初始化
p2=&b; //不允许,p2是常量不允许作为左值
*p1=2; //允许修改指针*p1的值
void Exchange(int *const a,int *const b)
{
int temp;
temp=*a;
*a=*b;
*b=temp
}