关于c语言数组指针的问题

#include <stdio.h>
int main (void){
    int arry[3][3] = {1,2,3,4,5,6,7,8,9};
    printf("%p\n",arry);
    printf("%p\n",*arry);
    printf("%p\n",arry[0]);
    printf("%p\n",&arry[0]);
    printf("%p\n",&arry[0][0]);
    return 0;
}

输出结果为:
0xbfc6925c
0xbfc6925c
0xbfc6925c
0xbfc6925c
0xbfc6925c
都是相同的,请问为什么?谢谢

那是因为“%p”的作用啊,都输出了数组,或者是数组中第一个元素的地址。

楼上正解,你这打印的都是该数组的首地址。建议自己画草图看下