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

C++ 指针常量和常量指针的区别

指针常量
指针常量:顾名思义它就是一个常量,但是是指针修饰的。
格式为:

int * const p //指针常量

在这个例子下定义以下代码:

int a,b;
int * const p=&a //指针常量
//那么分为一下两种操作
*p=9;//操作成功
p=&b;//操作错误

在这里插入图片描述

因为声明了指针常量,说明指针变量不允许修改。如同次指针指向一个地址该地址不能被修改,但是该地址里的内容可以被修改。

常量指针
常量指针:如果在定义指针变量的时候,数据类型前用const修饰,被定义的指针变量就是指向常量的指针变量,指向常量的指针变量称为常量指针,格式如下:

const int *p = &a; //常量指针int const* p = &a;

在这个例子下定义以下代码:

int a,b;const int *p=&a //常量指针
//那么分为一下两种操作
*p=9;//操作错误
p=&b;//操作成功

在这里插入图片描述
因为常量指针本质是指针,并且这个指针是一个指向常量的指针,指针指向的变量的值不可通过该指针修改,但是指针指向的值可以改变。

判断限制域的时候,const总是修饰其左侧标识符,如果const位于最左侧则修饰其右侧标识符

指向常量的指针常量该怎么写?

const int * const b = &a;//指向常量的指针常量

参考:
[1]http://t.csdnimg.cn/g3K8u
[2]https://zhuanlan.zhihu.com/p/337321951

http://www.lryc.cn/news/258093.html

相关文章:

  • 如何截取Hive数组中的前N个元素?
  • iPaaS架构深入探讨
  • UE4/UE5 修改/还原场景所有Actor的材质
  • Three.js + Vue 处理glb文件过大问题(DRACOLoader加载压缩glb)
  • ICC2:low power与pg strategy(pg_mesh)
  • Python基础期末复习 新手
  • 建筑可视化数据大屏汇总,UI源文件(PC端大屏设计)
  • 万户协同办公平台ezoffice wpsservlet接口任意文件上传漏洞
  • ​shelve --- Python 对象持久化​
  • web服务器之——搭建两个基于不同端口访问的网站
  • 如何使用GaussDB创建外表(FOREIGN TABLE)
  • 服务器数据恢复—raid5少盘状态下新建raid5如何恢复原raid5数据?
  • 软件工程 考试重点
  • swing快速入门(六)
  • 《opencv实用探索·十四》VideoCapture播放视频和视像头调用
  • Vue中$props、$attrs和$listeners的使用详解
  • 爱智EdgerOS之深入解析AI图像引擎如何实现AI视觉开发
  • Pytest+Allure生成自动化测试报告!
  • HTMLTestRunner
  • ELK架构监控MySQL慢日志
  • Linux命令---关机
  • 点云从入门到精通技术详解100篇-基于拓扑约束的3D点云实例分割(续)
  • java版Spring Cloud+Spring Boot+Mybatis之隐私计算 FATE - 多分类神经网络算法测试
  • Java之时间类2(JDK8新增)
  • MySQL InnoDB Replication部署方案与实践
  • 进程的同步和异步、进程互斥
  • 搞定课件录制,新手必备指南!
  • DevOps搭建(九)-Jenkins实现基础CI、CD详细操作
  • 十指波课堂:让学习编程不再是难事
  • IDEA卡顿,进行性能优化设置(亲测有效)——情况二