在 C 中,数组中的位置 a[i] 等于 *(a+i)。但是,对于二维数组 a[i][j],等效指针是什么?我到达 (a + ((i(第二个数组的大小) + j)),但这似乎不是一个明确的答案。
最佳答案
位置a[i]
是*(a+i)
位置 a[i][j]
是 *(*(a + i) + j)
请记住,二维数组是数组的数组。因此*a+0
指向第一个数组,*a+1
指向第二个数组,以此类推。
为了简化...
*(*a+1) = *(*(a + 0) + 1 ) = *(a[0] + 1) = a[0][1]
关于c - 内存在二维数组中的位置?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28591779/