Skip to content

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 叠满了。这样表示指针的指向不可改变,并且不能通过解引用的方式修改内存地址中的值

总结

  • 常量指针:指针指向可以改,指针指向的值不能改。
  • 指针常量:指针指向不能改,指针指向的值可以改。
  • 常指针常量:指针指向不能改,指针指向的值不能改。

Copyright 2020-2025 Xibei. All Rights Reserved