发布网友 发布时间:2023-11-02 13:12
共2个回答
热心网友 时间:2024-11-15 20:31
a表示一个二维数据,a+i表示的是a[i]的地址,*(a+i)表示a[i][0]的地址,然后*(a+i)+j才表示a[i][j]的地址。追答是的一个单独的a是表示整个二维数组的首地址,
因为a,*a的值是相同的,但是说语义不同,所以容易引起歧义。
能不能直接使用a还是要看做什么?表示什么语义?
热心网友 时间:2024-11-15 20:31
a+i对于二维数组来说,不表示第二行首地址,它表示的是第二行的地址,只是第二行的首元素地址跟第二行地址是同一个地址,在数值上是相等的,但是表示的意义却是不一样的——追问那要用a表示整个二维数组的首地址呢???应该怎样表示???能直接用一个a吗??追答整个数组的地址就直接用a就可以了,整个数组第一行的地址、整个数组第一行首元素的地址、整个二维数组首元素的地址也都跟a同值,a表示的是一个起始地址