如何将三维数组的第二维和第三维(绝对是一个二维数组)复制到另一个三维数组中? 以下代码生成一个空数组(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
}
答案 0 :(得分:0)
首先,不要担心效率。这些数据非常小,使得任何效率考虑都不重要。因此,请勿在此问题中使用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存储行主要形式的数据这一事实的版本。或者只是按原样使用上面的代码。也就是说,您可能需要在整个项目中处理更重要的任务?