1. 指针常量(Constant Pointer)
-
定义: 顾名思义指针常量是一个指针,它本身是常量,指向的地址不能改变,但可以改变指针所指向的值,(速记:指针是常量)
-
声明: 在 C 或 C++ 中,可以使用
const
关键字来声明指针常量。例如:
int a = 10;
int * const ptr = &a;
- 行为: 在这个例子中,
ptr
是一个指针常量。ptr
的值(即它指向的地址)不能被改变,但可以通过ptr
修改 a 的值。例如:
*ptr = 20; // 修改 a 的值
int b = 20;
// ptr = &b; // 错误:不能改变 ptr 的值
2. 常量指针(Pointer to Constant)
-
定义: 常量指针是一个指向常量的指针,指针所指向的值是常量,不能改变,但可以改变指针的值(即它指向的地址)。(速记:常量的指针)
-
声明: 在 C 或 C++ 中,可以使用
const
关键字来声明常量指针。例如:
int a = 10;
const int *ptr = &a;
- 行为: 在这个例子中,
ptr
是一个常量指针。ptr
的值(即它指向的地址)可以改变,但不能通过ptr
修改value
的值。例如:
// *ptr = 20; // 错误:不能修改 ptr 指向的值
int b = 30;
ptr = &b; // 可以改变 ptr 的值
3.指向常量的常量指针
- 定义:上面两种的结合体,指针的指向和指针指向的值都是常量,都不能修改
int a = 10;
const int * const ptr = &a;
下一篇:函数指针与指针函数的区别
总结:
指针常量:指针的指向不可以修改,但是指针指向的值可以修改 记:指针是常量
常量指针:指针的指向可以修改,但指针指向的值不可以修改 记:常量的指针
指向常量的常量指针:指针的指向以及指针指向的值都不可以修改
标签:const,常量,指向,区别,int,ptr,指针 From: https://blog.csdn.net/weixin_40323532/article/details/141093155