1、常指针:指针不能被修改,但指向的数据可以被修改,定义方法如下:
int *const p
此时p只能被初始化一个内存地址,当试图对p做p++、p=p1等操作时,编译器将提示出错。
2、指向常量的指针:指针可以被修改,但其指向的数据不能被修改,定义方法如下:
const int *p
此时p可以进行修改,但是其指向的数据的值则不能被修改。
3、指向常量的常指针:指针和指针指向的数据都不能修改,定义方法如下:
const int *const p
此时p和p指向的数据都不能被修改。
注意:指针指向的数据可以是变量,也可以是对象。