怎么区分:观察*
和const
的前后位置,谁在后即是什么。比如*
在const
后本质即为指针,const
在*
后即为常量。
常量指针
常量指针:如果在定义指针变量的时候,数据类型前用const修饰,被定义的指针变量就是指向常量的指针变量,指向常量的指针变量称为常量指针,格式如下(以 int* 指针为例)
const int* p(或 int const *p)
常量 指针(指针类型 指针名)
常量指针本质是指针,并且这个指针是一个指向常量的指针。
功能:
- 指针指向的地址可以修改;
- 指针指向地址的内容不可以改变(不可以通过指针赋值):只读
- 但可以通过原来指向的变量赋值
指针常量
指针常量:
int* const p
指针类型 常量 指针名
本质是一个常量,而用指针修饰它。
功能:
- 指针指向的地址不可以修改
- 指针指向地址的内容可以改变
- 可以通过指针赋值,也可以通过原来指向的变量赋值