我正在使用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);
}
这里&#39; vi&#39;是一个单维数组。现在数组&#39; arr&#39;有1024块大小为8x8的块。是否有规定在循环外部访问块(大小为8x8)以进行进一步处理?
答案 0 :(得分:5)
如果x数组被定义为int x[1024][8][8]
,这意味着x
是一个包含1024个元素的数组,其中每个元素都是int[8][8]
,即int数组的数组。因此,如果您想获得某些元素,只需使用subscription来访问它,就像访问普通数组一样。例如,您使用x[0]
访问x的第一个8x8块,x[1023]
以访问最后一个块。
答案 1 :(得分:1)
您可以arr[i][j][k]
访问0<=i<=1023,0<=j<=7 & 0<=k<=7