const放在指针变量的左边和右边的区别:
1.const放在指针变量的左边
作用:指针变量p指向的地址的内容不可修改,但是p指向的地址可以改变,比如你和朋友打电话时说你在某某小区某单元某层某号前,他就可以根据你提供的地址找到你,但是你不能说你住在你提供的地址,不然你朋友找你时可能会找不到你,因为那里面住的别人。
int a = 112;
int const * p = &a;
2.const放在指针变量的右边
作用:指针变量指向的地址不能改变,但是地址的内容可以改变,比如你和朋友假期出去玩定了一个KTV,你打电话给他并且告诉他KTV的地址,他就能找到你,但是租这一间KTV的人可以是你,也可以是其他人。
比如:int a = 112;
int * const p = &a;
3.const放在指针变量的两侧
作用:指针变量指向的地址指向的内容和这个地址都不能改变,就像被“绑架”了一样,手和脚都被捆住了,根本动不了一点。
比如:int a = 112;
int const * const p = &a;