一级指针相互赋值
int a=10;
int *p1=&a;
const int *p2=&a;
int * const p3=&a;
int *q1=&a;
const int *q2=&a;
int *const q3=&a;
p1=q1; 可以。int * -> int *
p1=q2; 不可以。const int *p1 -> int *p2
const修饰类型为int,修饰内容为*p1,也即*p1不可改变。把p1给了p2,有可能通过改变*p2而改变了*p1。
p1=q3; 可以。int *const p1 -> int *p2
const修饰类型为int *,修饰内容为p1,也即p1不可改变。把p1给p2,p1不作为左值,是可以的。
p2=q1; 可以。int *p1 -> const int *p2
const修饰类型为int,修饰内容为*p2,也即*p2不可改变。把p1给了p2,只是改变了p2。
p2=q2; 可以。con