C中的多维数组和其指针(1)

C中数组和指针的关系是紧密的,实际上C中的数组就是靠指针定义的
——C Primer Plus(第五版)

多维数组和n级指针紧密联系,这其中涉及的内容比较多,本篇文章讲其中的一部分。
首先,我们声明一个二维数组d_array[2][2]
int d_array[2][2];
在一维数组中,数组和指针的一个关系就是array是指向array[0]的指针,这在多维数组中也不例外,例如,对于上述数组d_array就有关系式:
d_array == &d_array[0] //d_array是d_array[0]的指针
但基于现在的上下文,我们是在讨论多维数组,d_array[0]也是一个数组,所以,同样地,也有:d_array[0] == &d_array[0][0] //d_array[0]是d_array[0][0]的指针
由上两个结论,我们可以得出:**d_array == d_array[0][0] //d_array是d_array[0][0]的指针的指针
基于上述对多维数组与指针的关系,我们不难理解下面这一些简单的指针加法:
d_array+1 == &d_array[1] //对d_array+1得到指向下一个数组首元素的指针
d_array[0]+1 == &d_array[0][1] //对d_array[0]+1可以得到d_array[0]数组中第2个元素的地址
本文就先讲到这里

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 指针是C语言中广泛使用的一种数据类型。 运用指针编程是C语言最主要的风格之一。利用指针变量可以表示各种数据结构; ...
    朱森阅读 8,812评论 3 44
  • 国家电网公司企业标准(Q/GDW)- 面向对象的用电信息数据交换协议 - 报批稿:20170802 前言: 排版 ...
    庭说阅读 13,871评论 6 13
  • 【1】7,9,-1,5,( ) A、4;B、2;C、-1;D、-3 分析:选D,7+9=16;9+(-1)=8;(...
    Alex_bingo阅读 19,497评论 1 19
  • 很多事怕也没用,你必须硬着头皮上。而且要自信,不要怕,大胆选择,做出你自己的最好成绩,即可, 你们之间关系并不重要...
    三不主义阅读 1,014评论 0 0
  • 在参加数学建模竞赛的时候,我第一次遇到了这个问题,上交的论文对于页码是有特定的要求的。然后现在到了毕业设计了,这个...
    MrGiovanni阅读 4,647评论 1 13