指针常量
指针常量指的是这个指针本身是常量,一旦被初始化,后面不能够再修改这个指针, 比如:
char* const p = "abc"; //声明指针常量并初始化指针p
++p; //错误,指针p是个常量,不可以改变指针
*p[0] = 'e'; //可以,指针并未改变,该可以修改指针所指向的值
一般而言,const
关键字在*
后面,表明这个指针本身是个常量,不可以修改指针,但可以通过指针修改其所指向的值
常量指针
常量指针指的是指针指向的值是一个常量,不可以通过该指针修改所指向的值,但是指针本身可以被修改为指向其他常量
const char* p = "abc";
*p[0] = "d";//错误,不可以通过指针修改所指向的值
p = "fgh"; //可以,指针可以指向其他常量
如果const
关键字在*
前面,表明所指向的内容不会被改变