(1)const在*前:表示const修饰的为所声明的类型——常量指针。
(2)const在*后:表示const修饰的为指针——指针常量。
(3)前后均有*:指向常量的指针常量。
1、常量指针
只能读取内存中的数据,不能修改内存数据,称为指向常量的指针
//声明
char const *p;
const char *p;//重点是const在*的前面还是后面
const 修饰的是char,所以说p所指向的内存地址所对应的值,是const,因此不可修改。但是内存所指向的内存地址是可以修改的。
可以将一个常量的地址赋值给一个对应类型的常量指针,因为常量指针不能通过指针修改内存数据。
2、指针常量
表示const修饰指针。指针所指向的位置不能改变,即指针本身就是一个常量,但是指针所指向的内容可以改变。
//声明
char *const p=&a;