我的程序使用 C。我正在使用 Ubuntu 14.04。以下是我使用的循环之一。
for (x=0; x<1024; x++)
{
for (i=0; i<8; i++)
{
for (j=0; j<8; j++)
{
arr[x][i][j]=vi[8*i+j+gi];
}
}
gi = gi+(8*8);
}
这里 'vi' 是一个一维数组。现在数组“arr”有 1024 个大小为 8x8 的 block 。是否有规定在循环外访问 block (大小为 8x8)以进行进一步处理?
最佳答案
如果 x 数组被定义为类似于 int x[1024][8][8]
,这意味着 x
是一个包含 1024 个元素的数组,其中每个元素是int[8][8]
,即int数组的数组。所以如果你想获取某个元素,只需要使用订阅来访问它,就像访问普通数组一样。例如,您使用 x[0]
访问 x 的第一个 8x8 block ,使用 x[1023]
访问最后一个 block 。
关于c - 如何在循环外访问三维数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36784711/