如何将t [i] [j]转换为指针样式引用

时间:2013-04-07 10:57:26

标签: c++ arrays pointers

例如 t[i]*(t+i)

它将如何 t[i][j]

在我看来*(*(t+i)+j)但不确定。

3 个答案:

答案 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)