C++基础:const修饰指针
约 414 字大约 1 分钟
2025-06-07
之前讲过 const 可以声明一个常量:
const int PI = 3;
如果用 const 修饰指针就很好玩了,有三种操作:
- 常量指针
- 指针常量
- 常指针常量
1. 常量指针
const 数据类型* 变量名;
相当于在普通指针的最前面加上 const,这样会导致不能通过解引用的方法修改内存引用的值,但是用原始的变量名可以修改。
注意:
- 指向什么变量可以改变(指向变量 a 可以修改成指向变量 b)
- 这个操作一般用于函数的形参,表示不希望在函数里面修改内存的值。
- 用于函数的形参时,可以修改指向的对象,但是返回 main 函数之后就没有任何意义了。
- 常量指针非常常用。
2. 指针常量
数据类型* const 变量名;
这里的 const 拿去修饰变量名了,这样表示指针的指向不可改变。
注意:
- 定义的时候必须初始化。
- 可以通过解引用的方法修改内存空间的值。
3. 常指针常量
const 数据类型* const 变量名;
Const 叠满了。这样表示指针的指向不可改变,并且不能通过解引用的方式修改内存地址中的值
总结
- 常量指针:指针指向可以改,指针指向的值不能改。
- 指针常量:指针指向不能改,指针指向的值可以改。
- 常指针常量:指针指向不能改,指针指向的值不能改。