1

当你有这样的数组时:

int foo[3][2][2];

你做:

int *bar = &foo[0][0][0];

这是它的工作方式吗?

*bar == foo[0][0][0];
*(bar+1) == foo[0][0][1];
*(bar+2) == foo[0][1][0];
*(bar+3) == foo[0][1][1];
*(bar+4) == foo[1][0][0];

我不确定并且有一些代码取决于它是否有效。

4

2 回答 2

4

是的,这称为row major ordering,这就是 C 使用的。

于 2008-12-07T00:34:38.060 回答
0

在大多数系统上,是的。

于 2008-12-07T00:32:40.217 回答