当前位置: 首页 > news >正文

C++笔记---指针常量和常量指针

巧记方法(方法来自于网络出处忘记了):const读作常量,*读作指针,按顺序读即可。例如:

const int * ptr; //const在前*在后读作常量指针
const * int ptr; //const在前*在后读作常量指针
int * const prt; //*在前const在后读作指针常量

汉语描述一般前面是修饰后面是中心。
指针常量:指针是一个常量,本质是一个常量。
常量指针:指向常量的指针,本质是一个指针

顺带理解下其它几个概念:
指针函数:一个函数,函数的类型(返回值)是指针
函数指针:一个指针,指向函数的指针
指针数组:一个数组,数组中存放的元素是指针(一个存放指针的数组)
数组指针:一个指针,指向数组的指针

指针常量:指针本身是一个常量,即指针一旦初始化后变不能改变,但指针指向的内容是可以改变的(常指针通常是指指针常量的意思

int a = 3;
int *const p = &a; //指针常量,即p一旦指向了a便不能再修改其指向
int b = 5;
p = &b; // error!!! //p本身是常量,尝试修改常量的值是非法的*p = 6; // right //p指向的内容是变量a,其值是可以修改的

常量指针:一个指向常量的指针,即指针指向的内容不可以修改,但指针本身是可以修改的。

int a = 3;
const int *p = &a; //常量指针,即通过p不能修改指针所指向的内容
*p = 5; //error!!! int b = 6;
p = &b; // right //p本身是变量,可以修改其指向
http://www.lryc.cn/news/435811.html

相关文章:

  • Python习题 177:设计银行账户类并实现存取款功能
  • IPhone 16:它的 “苹果智能 “包括哪些内容?
  • 【中国国际航空-注册/登录安全分析报告】
  • 【ArcGIS】栅格计算器原理及案例介绍
  • LOOKUP函数和VLOOKUP函数知识讲解与案例演示
  • Java技术深度探索:高并发场景下的线程安全与性能优化
  • Vulnhub-RickdiculouslyEasy靶场(9个flag)
  • Android Studio Menu制作
  • 【mybatis】使用模糊查询时报错:Encountered unexpected token: “?“ “?“
  • 【Linux】文件权限与类型全解:你的文件安全指南
  • 解析DNS查询报文,探索DNS工作原理
  • Unity让摄像机跟随物体的方法(不借助父子关系)
  • misc音频隐写
  • 如何启动网络安全计划:首先要做的事情
  • Java零基础-三维数组详解!
  • 数据分析-20-时间序列预测之基于PyTorch的LSTM数据准备及模型训练流程
  • vue2中使用web worker启动定时器
  • 【Python 学习】Numpy的基础和应用
  • 基于python+django+vue+MySQL的酒店推荐系统
  • 什么是 PD 电压诱骗?
  • 【漏洞复现】用友 NC pagesServlet Sql注入漏洞
  • 边缘检测运用
  • 应用宝自动下载安装
  • Vue 2 中实现双击事件的几种方法
  • windows服务管理插件 nssm
  • 【读书笔记-《30天自制操作系统》-19】Day20
  • Kubernetes服务注册与发现
  • 【 html+css 绚丽Loading 】000047 玄武流转盘
  • 线程池原理及改造
  • 彻底理解mysql Buffer Pool (拓展)