如何将三维数组的第二和第三维,绝对是二维数组,复制到另一个三维数组中?下面的代码生成一个空数组(B)。以下只是概念代码。
int a[ 12 ][ 51 ][ 4 ];
int b[ 20 ][ 51 ][ 4 ];
int main()
int i;
for( i= 0; i< 12 ; i++)
{
memcpy(b[i], a, sizeof(a));
}
return 0
}发布于 2013-08-01 19:27:44
首先,不要担心效率。这一数据的非常小的大小使得任何效率考虑都无关紧要。因此,不要在这个问题上使用memcpy。相反,尝试一些更明确的方法:
int a[ 12 ][ 51 ][ 4 ];
int b[ 20 ][ 51 ][ 4 ];
int main()
{
int eni, i, j;
for( eni = 0; eni < 12 ; eni++)
{
for (i = 0; i < 51; i++)
{
for (j = 0, j < 4; j++)
{
b[eni][i][j] = a[eni][i][j];
}
}
}
return 0;
}
// Note. the above code has not been tested, I just threw-it-up here for discussion.完成此操作后,请尝试使用C将数组存储在主要行形式的版本。或者只是按原样使用上面的代码。也就是说,在整个项目中,您可能有更重要的任务要做?
https://stackoverflow.com/questions/18002622
复制相似问题