c语言中,建设建立一个名为a的二维数组。我知道数组名a代表该数组的首地址,就是a [ 0 ] [

c语言中,建设建立一个名为a的二维数组。我知道数组名a代表该数组的首地址,就是a [ 0 ] [ 0 ] 这个元素的地址,那*a不应该是代表a [ 0 ] [ 0 ] 这个元素的值吗?为什么我用printf输出*a得到的是a [ 0 ] [ 0 ] 的地址而不是它的值?这跟一维数组不一样。

你可以大致理解为a[ ][ ] 为 **a 【不过两者并不相同,只是有些特性相同

*a 则可以取得指向一维数组的指针,也就是a[0]的地址而非a[0][0]
**a才是a[0][0]的地址
温馨提示:答案为网友推荐,仅供参考