为什么C语言中二维数组的数组名a和*a表示的是同一个值?

日期:2019-09-05 23:12:10 人气:1

为什么C语言中二维数组的数组名a和*a表示的是同一个值?

当定义二维数组a[M][N]时,数组名可以认为是二维指针,其指向二维数组的首地址。 于是a的值就是首地址的值。 而*a,就是a[0],a[0]是第一行的标记,代表第一行的首地址。 在二维数组中,所有元素都是紧密排列的,这样整个数组的首地址,第一行的首地址,和第一个元素的首地址,即a, a[0], &a[0][0] 都是相同的。 于是a和*a的值是相同的。
    A+
热门评论