再清楚不过了|指针常量和常量指针

清远课程 2025-02-26 04:37:48

在C/C++编程中,指针常量和常量指针是两个容易混淆的概念。我们可以通过简单的比喻来理解它们。

1. 指针常量(Pointer to Constant)

定义:指针指向的内容是常量,不能通过指针修改内容,但指针本身可以指向其他地址。

通俗理解:想象你有一个遥控器(指针),它可以控制不同的电视(内存地址),但电视里的节目(内容)是固定的,你不能换台。不过,你可以用遥控器切换到其他电视(改变指针的指向)。

代码示例:

总结:

指针可以指向不同的地址。不能通过指针修改指向的内容。2. 常量指针(Constant Pointer)

定义:指针本身是常量,不能改变指针的指向,但可以通过指针修改指向的内容。

通俗理解:想象你有一个遥控器(指针),它只能控制一台固定的电视(内存地址),但你可以用遥控器换台(修改内容)。不过,你不能用这个遥控器去控制其他电视(不能改变指针的指向)。

代码示例:

总结:

指针的指向不能改变。可以通过指针修改指向的内容。3. 指针常量和常量指针的结合

定义:指针本身是常量,且指向的内容也是常量。

通俗理解:你的遥控器(指针)只能控制一台固定的电视(内存地址),而且电视里的节目(内容)也是固定的,既不能换台,也不能切换电视。

代码示例:

总结:

指针的指向不能改变。不能通过指针修改指向的内容。总结对比

类型

指针指向

指向的内容

代码示例

指针常量

可以改变

不能修改

const int *p;

常量指针

不能改变

可以修改

int *const p;

指针常量+常量指针

不能改变

不能修改

const int *const p;

记忆口诀指针常量:内容不变,指针可变。常量指针:指针不变,内容可变。两者结合:指针和内容都不变。
0 阅读:0
清远课程

清远课程

感谢大家的关注