例如
t[i]
为*(t+i)
它将如何
t[i][j]
?
在我看来*(*(t+i)+j)
但不确定。
答案 0 :(得分:2)
是的,你拥有的是正确的。 t[i][j]
可以写为(t[i])[j]
,因此您可以递归地应用“1D”规则。
答案 1 :(得分:0)
您必须知道数据如何存储在内存中,因为您希望对指针进行操作。对于二维阵列,没有显着差异 - "行"只是告诉了多少"细胞"该应用应该跳过。
让我们假设一段时间,t
是一个整数,所以当你有一个数组时,如下所示:
| 3 | 4 | 5 |
| 6 | 5 | 4 |
它看起来就像
| 3 | 4 | 5 | 6 | 5 | 4 |
存储在内存中。数组意味着程序必须跳过"跳过"在数组x[3][2]
中的第三个值之后,t[i][j]
看起来像*(*(t+i)+j)
答案 2 :(得分:0)
是的,你是对的。 t[i][j]
相当于*(*(t + i) + j)
。