肥乡县手控报警器有限公司

热门关键词: 手控报警器,无线报警器,机箱报警器

单片机C语言多维数组

日期:2020-02-13编辑作者:公司产品

  对于二维数组a[4][6];由于数组名代表数组的起始地址,所以a(第一层)和第一个元素a[0][0]地址的数字是相同的,但是意义却是不同的。 对于该数组我们可以理解为:a的一维数组(第一层),它有四个元素a[0]、a[1]、a[2]、a[3](第二层),而每个元素又含有6个元素a[0] [0],a[0][1],a[0][2],a[0][3],a[0][4],a[0][5](第三层),…到此我们终于访问到了每个元素了,这个过程我们 经历了:a-a[0]-a[0][0];

  整体来讲:a是一个4行5列的二维数组,a表示它指向的数组的首地址(第一个元素地址a[0]),同时a[0]指向一行,它是这个行的名字 (和该行的第一个元素的首地址相同(第一个元素为地址a[0][0]))。所以从数字角度说:a、a[0]、a[0][0]是相同 的,但是他们所处的层次是不同的。

  既然a代表二维数组,那么a+i就表示它的第i+1个元素*(a+i)的地址,而在二维数组中

  *(a+i)又指向一个数组,*(a+i)+j表示这个数组的第j+1个元素的地址,所以要访问这个元素可以使用 *(*(a+i)+j)(也就是a[i][j])。

  总结一下就是:我们对于二维指针a,家用燃气报警器哪个牌子好他指向数组a[0,1,2,3],使用*,可以使他降级到第二层次,这样*a就指向了第一个真正的数组。对于其他的情况我们也可以采用相同的方式,对于其他维数和类型的数组我们可以采用相类似的思想。

  这时p就是一个指针,要指向一个含有5个int类型元素的数组,指向其他的就会出现问题。这个时候我们可以使用上面的什么东西来初始化呢?我们可以使用*a,*(a+1),a[2]等。原因很简单:我们在一个二维的数组中,那么表达方式有上面的相互类似的意义呢?只有*a,*(a+1),a[2]等。

本文由肥乡县手控报警器有限公司发布于公司产品,转载请注明出处:单片机C语言多维数组

关键词:

河北廊坊精准管控涉VOCs排放企业 对重点企业按照

北极星VOCs在线讯:日前,河北省廊坊开发区环保局在官网上公布了一份挥发性有机物(VOCs)深度治理达标企业白名单,共...

详细>>