一、从概念上来做下区分
常量指针:首先是一个指针,然后这个指针指向的里面值是一个常量。里面值不能修改,但是地址可以修改。
指针常量:本质是一个常量,指针指向这个常量,地址值不可以改变,但是里面的值可以修改
二、实战说明:
1、常量指针
(1)表示方式:
int const* p;
const int* p;
(2)、使用性:
int b = 20;
int c = 200;
const int *p = &b;
*p = 50;//错误的,因为指向的是常量,所以里面的值是不可以修改的
p = &c; //可以的,地址是可以修改的,地址可以指向别的地方
2、指针常量
(1)表示方法:
int* const p;
(2)使用性:
int b = 200;
int c = 300;
int * const p = &b;
p = &c;//错误的,因为地址不可以更改,所以不能指向别的地址
*p = 600; //正确的,地址不可以更改,但是里面的值是可以更改的