C 以下符号指向什么?

C 以下符号指向什么?,c,arrays,multidimensional-array,C,Arrays,Multidimensional Array,对于声明为-int arr[4][3][2]的整数数组 &arr arr arr[0] &arr arr[0][0] &arr[0][0] arr[0][0][0] &arr[0][0][0] 我的分析是: arr:-指向三维数组的基址 &arr:-与arr相同,这里数组名不分解 arr[0]:-指向三维数组第一个元素的指针,该元素是指向二维数组基址的指针 arr[0][0]:指向第一个3D数组的第一个2D数组的第一个单元格的第一个元素的指针 我的思路正确

对于声明为-int arr[4][3][2]的整数数组

&arr 
arr
arr[0]
&arr
arr[0][0]
&arr[0][0]
arr[0][0][0]
&arr[0][0][0]
我的分析是:

  • arr
    :-指向三维数组的基址
  • &arr
    :-与arr相同,这里数组名不分解
  • arr[0]
    :-指向三维数组第一个元素的指针,该元素是指向二维数组基址的指针
  • arr[0][0]
    :指向第一个3D数组的第一个2D数组的第一个单元格的第一个元素的指针
我的思路正确吗?
其中哪些指向同一事物?

int-arr[4][3][2]
意思是
arr
3D
数组,由
4个2D
数组组成,每个
2D
数组有
3个1D
数组,每个
1D数组有
2个
元素

让我们用图形表示
arr
:假设
arr
基址是
0x100

arr[0][0][0]                               arr[1][0][0]                          arr[2][0][0]                            arr[3][0][0]
 0x100      0x104         0x108   0x112     0x116    0x120      0x124      0x128  0x132    0x136       0x140      0x144   0x148       0x152    0x156          0x160     <--1D array elements
   |         |              |       |        |         |          |         |      |        |            |         |       |           |         |              |
   ----------                --------         ----------           ----------      ----------            -----------       ------------           ---------------
        |                       |                 |                     |              |                      |                 |                       |
        arr[0][0]               arr[0][1]       arr[1][0]            arr[1][1]       arr[2][0]              arr[2][1]         arr[3][0]               arr[3][1]
        0x100                   0x108           0x116                 0x124          0x132                   0x140             0x148                   0x156            <---1D array
        |                       |               |                       |              |                       |                |                       |
        ------------------------                -------------------------              -------------------------                ------------------------
                |                                      |                                      |                                         |
                arr[0]                               arr[1]                                 arr[2]                                    arr[3]                            <---2D array
                0x100                                0x116                                  0x132                                     0x148
                |                                      |                                      |                                         |
                -------------------------------------------------------------------------------------------------------------------------
                                                                        |
                                                                       arr                                                                                              <---3D array
                                                                      0x100
arr[0][0]               ==      & arr[0][0]
*( *(arr+0) + 0)        ==      & *( *(arr+0) + 0)
*( *(0x100 + 0x16) + 0) ==      & *( *(0x100 + 0x16) + 0)
*( *(0x100))            ==      & *( *(0x100))
*( 0x100)               ==      & *( 0x100)
0x100                   ==      & 0x100
0x100                   ==      0x100