const* int 与int* const 与 const int * 与 const int * const

最近用到c++,指针真的是让我头秃,又看到const和指针的组合,让我想死。

cpp 复制代码
int a = 10;
int b = 20;
const int * p = &a;
*p = 20;  //错误
//更改p指向的地址
p = &b;

1、const int * p和int const * p

指向地址的值是一个不能由p来改变的,但是可以指向其他的地址。

2、 int *const p

这是一个常量指针,一旦绑定所指向的地址则不能改变了,但是可以通过解引用来改变指向地址中的值。

cpp 复制代码
int a = 10;
int b = 20;
int * const p = &a;
*p = 30;
p = &b; //错误

3、const int * const 不允许改变指向的地址和通过p改变指向的值

cpp 复制代码
int a = 10;
int b = 20;
const int * const p = &a;
p = &b; //错误
*p = 20; //错误
相关推荐
松涛和鸣32 分钟前
22、双向链表作业实现与GDB调试实战
c语言·开发语言·网络·数据结构·链表·排序算法
xlq223226 小时前
22.多态(上)
开发语言·c++·算法
666HZ6667 小时前
C语言——高精度加法
c语言·开发语言·算法
星释7 小时前
Rust 练习册 100:音乐音阶生成器
开发语言·后端·rust
D_evil__7 小时前
[C++高频精进] 并发编程:线程基础
c++
风生u7 小时前
go进阶语法
开发语言·后端·golang
666HZ6667 小时前
C语言——黑店
c语言·开发语言
Gomiko8 小时前
JavaScript基础(八):函数
开发语言·javascript·ecmascript
〝七夜5698 小时前
JVM内存结构
java·开发语言·jvm
初级炼丹师(爱说实话版)8 小时前
JAVA泛型作用域与静态方法泛型使用笔记
java·开发语言·笔记