我有如下两个数组。我使用的是 C 语言
int array1[7][8];
int array2[8][7];
数组 1 的所有元素都有一些值
我想将数组 1 的所有值分配给数组 2 。因为两个数组总共有 56 个元素。值应该能够适合。我想将数组 1 的所有 56 个值分配给数组 2,这样如果它们被视为一维数组,那么它们应该看起来相同 我试图遍历从 0 到 56 的循环并尝试关联它们的索引但无法弄清楚。 我试过这样的东西,但我在某处弄错了
for (i = 0 ; i < 56 ; i ++)
{
array2[i / 7 ][ i % 7 ] = array1[ i / 6 ][ i % 6];
}
最佳答案
这不是数组元素的转置!
忽略维度和 memmove()
周围的数据。
memmove(array2, array1, sizeof array1);
memmove()
不关心数组元素的布局,标准保证所有数组元素(即使是多维数组)都是顺序的。
关于c - c中移动数组元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26572056/