a[3][3]输出不是应该是11吗?

图片说明

a[3][3]访问的是第四行第四列数据,而你只有3行,下标越界了,所以得到的结果是不可预期的。

数组下标从0开始,所以你想输出11,应该是a[2][2].

前面输出的4个值都是内存地址。

*a a[0]这些都不是内存地址。如果要内存地址,可以用a或者&a[0]

  1. 输出地址应该用%p
  2. 这个数组的最大能取到的合法值为a[2][3];