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

数组和指针

指向二维数组的指针

设有二维数组定义如下:int a[3][4]={{0,1,2,3},{4,5,6,7},{8,9,10,11}};

该数组是由三个一维数组构成的(3行),它们是a[0]、a[1]和a[2]。

我们可以把a[0]看成是一个一维数组的名字,这个一维数组有4个元素,它们是a[0][0]、a[0][1]、a[0][2]和a[0][3]。也是就是说二维数组其实也是一个一维数组,其中每个元素又是一个一维数组。

a[0]就是其第0个元素(也就是第0行的首地址)、a[1]就是其第1个元素(也就是第1行的首地址)、a[2]就是其第2个元素(也就是第2行的首地址)。

第0行的首地址是&a[0],也可以写成a+0(也可以说是a[0][0]的地址)。同理,第一行的首地址是&a[1],也可以写成a+1(也可以说是a[1][0]的地址)。

a[0]+0就是a[0][0]的地址、a[0]+1就是a[0][1]的地址、a[0]+2就是a[0][2]的地址、a[0]+3就是a[0][3]的地址。

*(a[0]+0)和a[0][0]是一回事、*(a[0]+1)和a[0][1]是一回事。以此类推,*(a[i]+j)就是a[i][j]。而a[i]和*(a+i)是等价的,所以我们得到,*(a+i)+j就是a[i][j]的地址,*(*(a+i)+j)就是a[i][j]。

指向“一行变量”的指针

如果有定义int *p; 我们称p为指向“一个变量”的指针。

我们也可以定义一个指向“一行变量”的指针变量,指向“一行变量”的指针定义的一般形式为:
类型说明符 (*指针变量名)[一行元素的长度];
例如:  int (*p)[4];
含义为:定义了一个指针变量,该指针变量指向一整行变量(整行一维数组),这一行变量固定有4个元素。

相关文章:

  • django 获取 filter后的某一个属性的list
  • 阿里云主机自动 HTTPS 证书部署踩坑实录
  • JavaScript 循环方式:全面解析与性能对比
  • Java求职者面试题详解:核心语言、计算机基础与源码原理
  • 爬虫技术:数据挖掘的深度探索与实践应用
  • C++/OpenCV 图像预处理与 PaddleOCR 结合进行高效字符识别
  • 计算无线电波在大气中传播衰减的算法
  • UL/CE双认证!光宝MOC3052-A双向可控硅输出光耦 智能家居/工业控制必备!
  • Tailwind Css V4 在vite安装流程
  • 《Effective Python》第九章 并发与并行——使用 Queue 实现并发重构
  • 数据结构--栈和队列
  • crackme010
  • 鼎捷T100开发语言-Genero FGL 终极技术手册
  • 求LCA(倍增/DFS序/重链剖分)Go语言
  • UE5 游戏模板 —— TopDownGame 俯视角游戏
  • XML映射文件-辅助配置
  • Greenplum/PostgreSQL pg_hba.conf 认证方法详解
  • PCIe接口卡设计原理图:124-基于XC7Z015的PCIe低速扩展底板
  • Zephyr 高阶实践:彻底讲透 west 构建系统、模块管理与跨平台 CI/CD 配置
  • Arduino入门教程:10、屏幕显示
  • 创新的广州做网站/最近的疫情情况最新消息
  • 网站开发技术考试试卷/网址生成短链接
  • 长沙城乡住房建设厅网站/优化网站打开速度
  • 网站的关键词在哪里设置/项目推广
  • 手机建公司网站/郑州网站优化哪家好
  • 完成网站建设成本/聚名网