int * const p; 指针常量 --指向整型数的常指针
指针常量首先是个常量。而指针常量就是说这个常量是个指针类型的常量(地址常量),所以常量的值其实就是个指针。指针所指向的地址不能被修改(常指针),但指针指向地址的内容可以改变。
int const * p; 常量指针 --指向常整型数的指针
指针常量首先是个指针。常量指针就是说这个指针是个指向常量的指针(地址是个存不变量的地址),所以指针里的值其实就是个常量(地址里存放的是个常量),所以指针里的值不能被修改(常量)。但指针本身是可以修改的。
常量指针因为所指向地址的值不能被修改,只能被读取,所以也叫只读指针。
识记:
* const (指针常量)指针所指向的地址不能变
const * (常量指针)指针所指向地址的值不能变
——————————————————————————————————————————————————————————
上面写的是狗屎。。。hahahaha
指针常量 指向常量的指针 const *
仅仅要求不能通过该指针改变对象的值,并不限制指向的对象(常量和非常量都可以)
常量指针 * const
存放在指针中的地址不能改变(指针本身是常量)
总结:(const和*这两个修饰词从右往左解读)
1、const 位于*左侧,表示指针所指向的数据是常量,不可以通过该指针修改实际数据。指针本身是变量,可以指向其他内存单元。
2、const为于*右侧,表示指针本身是常量,不能指向其他内存单元,所指向的数据可以修改。