二维数组元素及其地址表示的完美解读

Posted -lhy-to-s

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了二维数组元素及其地址表示的完美解读相关的知识,希望对你有一定的参考价值。

一,二维数组的架构与逻辑

1.a[3][4] = {a[0], a[1], a[2]} ={{1, 2, 3, 4}, {5, 6, 7, 8}, {9, 10, 11, 12}};

二维m×n  -->  m个一维数组  -->  每个一维数组包含n个元素

不废话,直接看图

 技术图片

 

 

2,确定的公式

a[0] = a[0]+0 = &a[0][0] = *(a+0)+0 = *a

 a = &a[0] = &(&a[0][0]) = &(*a) a;

二, 二维数组中按层级解释

1,二维数组中的一维数组

a[0] = a[0]+0 = &a[0][0] = *(a+0)+0 = *a

a[1] = a[1]+0 = &a[1][0] = *(a+1)+0 = *(a+1)

a[n] = a[n]+0 = &a[n][0] = *(a+n)+0 = *(a+n)

2,二维数组中一维数组的元素地址

a[0][2] --> a[0]+2 = &a[0][2] = *(a+0)+2 = *a+2

a[1][3] --> a[1]+3 = &a[1][3] = *(a+1)+3 = *(a+1)+3

a[i][j] --> a[i]+j = &a[i][j] = *(a+i)+j = *(a+i)+j

3,在指针数组和数组指针中更需小心
---------------------

以上是关于二维数组元素及其地址表示的完美解读的主要内容,如果未能解决你的问题,请参考以下文章

二维数组运算

二维数组a[11][11]数组元素个数

求问php两个二维数组中每个元素的相加

C语言之二维数组

一维数组 二维数组 字符数组 处理字符串的函数

C语言程序设计:求二维数组中最大元素值及其行列号