不使用循环访问多维数组?

时间:2014-01-03 04:14:57

标签: c

朋友们,我正在开展一个项目,我们需要使用相当多的多维数组。我使用for循环访问不同的数组元素,然后我想如果我没有自由使用循环怎么办?我怎么去访问数组元素?

我是C的新手,所以想到在这里讨论一下,我相信可能会有一些人能够以同样的方式思考,并希望找到解决方案。

下面给出多维数组示例,请指导我。 感谢

  static int t[3][2][4] = {  {2,4,3,6,
                             1,6,7,9,},

                            {8,2,1,1,
                             2,3,7,3,},

                            {1,6,2,4,
                             0,7,9,5,},

                               };

请帮帮我......谢谢!

2 个答案:

答案 0 :(得分:1)

如果您需要遍历循环内的所有值而无需手动处理(即x = t [1] [1] [1]然后x = t [1] [1] [2]等)那么你想要使用循环,增强循环或迭代器。但是,由于您使用的是C,这三个选项中只有一个是标准循环,您尝试不使用它们。所以...真的有直接的方法来做到这一点。

如果您愿意使用其他一些C库,那么您可能会有更多选择。可能存在迭代器库。

一种非直接的方式(如果你正在寻找)可能是通过递归,但这真的很浪费。我建议你只使用循环:P

答案 1 :(得分:0)

你应该首先考虑用循环和没有循环来证明什么。

如果你想访问所有元素而不是使用循环就像手动编写大量代码并浪费内存(在你的情况下3 * 2 * 4没有行代替少数)。

如果您在代码中输入了访问元素的方式和位置,而不是显示数组,那么告诉您想要的内容就更清楚了。