const的作用:1.限制变量的写权限
2.无论什么数据类型对const而言是透明的
3.const右边直接的内容不能做左值
4.权限可以等价传递,或者缩小传递
const
int
a=10就把a变成常变量,即不能修改a的值,即为只读变量。
而const
int b;毫无意义,因为b的结果是一个随机值
const
int
*p1=&a;
*p1=100<错误>因为const右边直接的内容是*p1,所以*p1不能做左值
int *const
p2=&a;
p2=100<错误>因为const右边直接的内容是p2,所以p2不能做左值
const
int
*const
p3=&a;
p3=100<错误>
*p3=100<错误>
第一个const后面跟*p3,第二个const后面跟p3,所以两个都错误