二维数组指针操作
以下是 C 中对二维数组指针操作的演示主要展示了如何通过指针访问二维数组中的元素。我们来逐行讲解其含义和作用。 假设前提在看这段代码之前我们需要知道一些上下文虽然图中未显示通常这种代码出现在如下场景中intarr[2][4]{{1,2,3,4},{5,6,7,8}};int(*p2)[4]arr;// p2 是指向含有 4 个 int 的数组的指针即p2是一个指向int[4]类型的指针也就是指向二维数组的一行。 逐行解析代码cout**************endl;输出一行星号作为分隔符便于调试输出查看。coutp2endl;打印p2指针本身的值即第一行数组的首地址例如0x7ffeeb3f2a40。//取出数组地址cout*p2endl;*p2表示解引用p2得到它所指向的第一个一维数组即arr[0]的首地址。注意此时*p2实际上就是arr[0]的地址也等于arr[0][0]所以这个输出和上面的p2可能相同因为p2和*p2在地址上可能一致但类型不同。✅重点理解p2是int(*)[4]类型 → 指向整个行*p2是int[4]类型 → 解引用后是一个数组但编译器会将其退化为int*指向第一个元素所以*p2等价于arr[0][0]即arr[0]的首地址//第二行数组首地址coutp21endl;//偏移元素*容量 16个字节p2 1表示将指针p2向后移动一个int[4]的大小。因为每个int[4]占4 * sizeof(int) 16 字节假设int是 4 字节所以这一步跳过了第一行指向了第二行的首地址即arr[1]的地址。//取出数组地址//int*cout*(p21)endl;*(p2 1)就是解引用第二行的地址结果是arr[1]的首地址即arr[1][0]也就是arr[1]数组本身。cout**(p21)endl;**(p2 1)先(p2 1)得到第二行的地址再*(p2 1)得到第二行的首地址arr[1][0]最后再*(*(p2 1))就是取该地址的内容 →arr[1][0]的值所以这里输出的是5如果数组初始化为{1,2,3,4}, {5,6,7,8}//先偏移行地址再在这一行中偏移元素地址cout*(*(p21)1)endl;cout*(*(p21)2)endl;cout*(*(p21)3)endl;这些语句是在第二行中访问后续元素*(p2 1)→ 第二行首地址arr[1][0]*(p2 1) 1→ 指向arr[1][1]的地址*(*(p2 1) 1)→ 获取arr[1][1]的值 →6同理*(*(p2 1) 2)→arr[1][2]→7*(*(p2 1) 3)→arr[1][3]→8✅ 总结关键点表达式含义示例值基于arr[2][4] {{1,2,3,4},{5,6,7,8}}p2第一行的地址arr[0]*p2第一行的首元素地址arr[0][0]p2 1第二行的地址arr[1]*(p2 1)第二行的首元素地址arr[1][0]**(p2 1)第二行第一个元素值5*(*(p2 1) 1)arr[1][1]6*(*(p2 1) 2)arr[1][2]7*(*(p2 1) 3)arr[1][3]8 核心思想二维数组本质是一维连续内存的逻辑划分。使用指针int (*)[n]可以安全地遍历每一行。多层解引用可以实现类似arr[i][j]的效果。指针算术中p2 1跳过整行不是单个元素这是“数组指针”与“普通指针”的区别。 小技巧等价写法你可以把*(*(p2 1) j)写成更简洁的形式(*p2)[j]// 第一行第 j 列(*(p21))[j]// 第二行第 j 列或者直接用下标arr[1][j] 示例完整程序供测试#includeiostreamusingnamespacestd;intmain(){intarr[2][4]{{1,2,3,4},{5,6,7,8}};int(*p2)[4]arr;cout**************endl;coutp2: p2endl;cout*p2: *p2endl;coutp21: p21endl;cout*(p21): *(p21)endl;cout**(p21): **(p21)endl;cout*(*(p21)1): *(*(p21)1)endl;cout*(*(p21)2): *(*(p21)2)endl;cout*(*(p21)3): *(*(p21)3)endl;return0;}

相关新闻

Java毕设选题推荐:基于springboot的社区志愿者志愿活动服务系统【附源码、mysql、文档、调试+代码讲解+全bao等】

Java毕设选题推荐:基于springboot的社区志愿者志愿活动服务系统【附源码、mysql、文档、调试+代码讲解+全bao等】

2026/7/10 5:32:05 阅读更多 →
ppo导航依赖第一步,那是rnn好还是transformer

ppo导航依赖第一步,那是rnn好还是transformer

2026/7/3 21:07:18 阅读更多 →
ppo如果每个episode的宝藏位置都会变,时序特征还有意义吗

ppo如果每个episode的宝藏位置都会变,时序特征还有意义吗

2026/7/9 5:56:01 阅读更多 →

最新新闻

C++ 多线程自旋锁实战:5 行代码实现与 3 大适用场景剖析

C++ 多线程自旋锁实战:5 行代码实现与 3 大适用场景剖析

C 多线程自旋锁实战:5 行代码实现与 3 大适用场景剖析在追求极致性能的系统级开发中,自旋锁(Spinlock)作为一种轻量级同步原语,常被用于替代传统互斥锁。本文将带您从零实现一个基于原子操作的高效自旋锁,并…

2026/7/10 5:33:18 阅读更多 →
武昌靠谱装修公司推荐,口碑好团队排名

武昌靠谱装修公司推荐,口碑好团队排名

选装修公司,几乎是我这些年身边朋友最头疼的一件事。从报价单里密密麻麻的隐藏项,到开工后不断增加的增项,再到项目经理三天两头“转包”的推诿,几乎每个人都能讲出一段心塞经历。我在武昌住了十来年,前前后后帮亲戚朋…

2026/7/10 5:29:17 阅读更多 →
网络安全与云计算好学吗?华为认证PK各类证书,2026转行全指南

网络安全与云计算好学吗?华为认证PK各类证书,2026转行全指南

网络安全和云计算并不难学。 零基础普通人只要选对方向、跟对路线,3到6个月即可入门。相比而言,云计算侧重架构与运维,上手更快;网络安全偏重攻防与策略,技术综合性更强。转行关键在于考取高含金量的行业证书。一、 为…

2026/7/10 5:27:17 阅读更多 →
猫抓浏览器插件:网页视频下载的终极完整指南

猫抓浏览器插件:网页视频下载的终极完整指南

猫抓浏览器插件:网页视频下载的终极完整指南 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为无法保存网页上的精彩视频而烦恼吗&…

2026/7/10 5:25:16 阅读更多 →
基于TS2007FC与STM32F205RB的高保真音频系统设计

基于TS2007FC与STM32F205RB的高保真音频系统设计

1. 项目概述:基于TS2007FC与STM32F205RB的音频系统设计在嵌入式音频处理领域,如何实现高保真音频输出一直是工程师面临的挑战。本项目采用TS2007FC数字功放芯片与STM32F205RB微控制器构建了一套高性能音频处理系统。TS2007FC作为一款2x20W立体声D类音频放…

2026/7/10 5:25:16 阅读更多 →
京东十大靶向人群 3 大类别对比:新势力、中坚力量与蓝海人群的运营策略差异

京东十大靶向人群 3 大类别对比:新势力、中坚力量与蓝海人群的运营策略差异

京东三大战略人群运营指南:从新势力到蓝海市场的精准突破深夜的会议室里,某品牌电商负责人王琳正盯着后台数据发愁——同样的促销活动,在25岁的都市Z世代用户群中转化率高达18%,而小镇中年群体却不足3%。这背后反映的正是京东靶向…

2026/7/10 5:23:16 阅读更多 →

日新闻

STM32与LTC1864高精度ADC的SPI通信实现

STM32与LTC1864高精度ADC的SPI通信实现

1. 项目背景与核心需求在工业控制和嵌入式系统开发中,模拟信号与数字系统的无缝集成一直是工程师面临的关键挑战。LTC1864作为一款16位高精度ADC转换器,配合STM32F101ZG这类主流微控制器,能够构建高性能的模拟信号采集系统。这种组合特别适合…

2026/7/10 0:03:07 阅读更多 →
猫抓插件:浏览器资源嗅探与视频下载的终极解决方案

猫抓插件:浏览器资源嗅探与视频下载的终极解决方案

猫抓插件:浏览器资源嗅探与视频下载的终极解决方案 【免费下载链接】cat-catch 猫抓 浏览器资源嗅探扩展 / cat-catch Browser Resource Sniffing Extension 项目地址: https://gitcode.com/GitHub_Trending/ca/cat-catch 还在为网页视频无法下载而烦恼吗&am…

2026/7/10 0:05:09 阅读更多 →
直流有刷电机驱动方案:TC78H653FTG与MKV46F256VLH16应用

直流有刷电机驱动方案:TC78H653FTG与MKV46F256VLH16应用

1. 直流有刷电机驱动方案概述在工业自动化和消费电子领域,直流有刷电机因其结构简单、控制方便、成本低廉等优势,仍然是许多应用场景的首选驱动方案。TC78H653FTG作为东芝推出的新一代H桥驱动器,与MKV46F256VLH16微控制器配合使用&#xff0c…

2026/7/10 0:05:09 阅读更多 →

周新闻

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容

B站视频下载神器BiliTools:5分钟学会轻松保存任何B站内容 【免费下载链接】BiliTools A cross-platform bilibili toolbox. 跨平台哔哩哔哩工具箱,支持下载视频、番剧等等各类资源 项目地址: https://gitcode.com/GitHub_Trending/bilit/BiliTools …

2026/7/8 16:14:06 阅读更多 →
威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型全解析:从新手入门到实战应用,助你构建安全产品!

威胁模型的陌生现状在忙碌疲惫的一天里,参与了关于混合后量子密码学的讨论,应付端点攻击找茬的人,还参与留言板讨论后,发现“威胁模型”对多数人仍是陌生概念,且多被当作时髦用语。有趣的相关画作有一幅由 Embyr 创作的…

2026/7/9 13:46:46 阅读更多 →
渗透测试入门指南:从零基础到实战环境搭建

渗透测试入门指南:从零基础到实战环境搭建

1. 从“看热闹”到“入门”:我理解的渗透测试到底是什么?每次看到新闻里说某个大公司的数据被“黑”了,或者某个网站被攻击导致服务瘫痪,你是不是和我一样,心里会冒出两个念头:一是“这黑客真厉害”&#x…

2026/7/9 21:41:05 阅读更多 →

月新闻