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

C语言基础系列【32】指针进阶5:指针与常量

博主介绍:程序喵大人

  • 35- 资深C/C++/Rust/Android/iOS客户端开发
  • 10年大厂工作经验
  • 嵌入式/人工智能/自动驾驶/音视频/游戏开发入门级选手
  • 《C++20高级编程》《C++23高级编程》等多本书籍著译者
  • 更多原创精品文章,首发gzh,见文末
  • 👇👇记得订阅专栏,以防走丢👇👇
    😉C++基础系列专栏
    😃C语言基础系列专栏
    🤣C++大佬养成攻略专栏
    🤓C++训练营
    👉🏻个人网站

很多同学貌似经常弄混指针常量和常量指针的区别,主要是因为中文翻译的不是很好,你如果根据它的应为来理解就能方便一些,一个是常量指针(Pointer to Constant),另一个是指针常量(Constant Pointer),它们是两个完全不同的概念,其核心在于表示不同的内存访问权限。

下面详细介绍。

常量指针(Pointer to Constant)

常量指针是指指向常量的指针,即该指针指向的值不能被修改(通过该指针)。换句话说,你可以改变指针的指向,但不能通过该指针改变它所指向的值。
在这里插入图片描述
声明方式

const 数据类型 *指针名;
// 或者
数据类型 const *指针名;

在这里插入图片描述

指针常量(Constant Pointer)

指针常量是指指针本身是常量,即一旦初始化后,其指向的地址就不能再改变。但是,你可以通过该指针修改它所指向的值。
在这里插入图片描述

声明方式

数据类型 *const 指针名;

在这里插入图片描述

常量指针常量(Constant Pointer to Constant)

常量指针常量是指既指向常量又本身是常量的指针。即初始化之后,指针指向的地址及其指向的值均只能读取,不能修改。
在这里插入图片描述

声明方式

const 数据类型 *const 指针名;

在这里插入图片描述

总结

  • 常量指针(Pointer to Constant):可以改变指向,但不能通过该指针修改值。
  • 指针常量(Constant Pointer):不能改变指向,但可以通过该指针修改值。
  • 常量指针常量(Constant Pointer to Constant):既不能改变指向,也不能通过该指针修改值。

英文比中文更容易理解。

码字不易,欢迎大家点赞关注评论,谢谢!


C++训练营

专为校招、社招3年工作经验的同学打造的1V1 C++训练营,量身定制学习计划、每日代码review,简历优化,面试辅导,已帮助多名学员获得大厂offer!

相关文章:

  • 上市电子制造企业如何实现合规的质量文件管理?
  • 0301-组件基础-react-仿低代码平台项目
  • 【AI微信小程序开发】AI减脂菜谱小程序项目代码:根据用户身高/体重等信息定制菜谱(含完整前端+后端代码)
  • 爱心计算器:用 Python 创建带有动态爱心效果的计算器
  • Ubuntu20.04安装OpenVINO环境以及YOLOv8 C++部署测试
  • Android里面内存优化
  • 【Redis】基础1:基本概念,基本数据结构
  • Git操作指南
  • Python数据类型-int
  • JavaScript基础-触屏事件
  • 加密钱包助记词丢失后的一天
  • 在MFC中使用Qt(三):通过编辑项目文件(.vcxproj)实现Qt的自动化编译流程
  • 循环神经网络 - 通用近似定理 图灵完备
  • 昇腾CANN算子共建仓CANN-Ops正式上线Gitee,首批算子已合入
  • SpringMVC组件解析
  • vue+springboot 新增操作,前端id传string,后端接收为long类型,报错类型不匹配——解决方法
  • spring-ai-alibaba第一章ollama集成
  • 基于Vue.js网页开发相关知识:Vue-router
  • 一文了解WPF技术简介
  • 电商场景下高稳定性数据接口的选型与实践
  • 乘客被困停滞车厢超4小时,哈尔滨铁路局客服:列车晚点,表示歉意
  • 微博:严厉打击对肖某董某事件蹭炒热点、编造故事博流量等行为
  • 扬州市中医院“药膳面包”走红,内含党参、黄芪等中药材
  • 两部门调度部署“五一”假期安全防范工作,要求抓好旅游安全
  • “上博号”彩绘大飞机今日启航:万米高空传播中国古代文化
  • 东风着陆场近日气象条件满足神舟十九号安全返回要求