c - c中移动数组元素

标签 c arrays multidimensional-array

我有如下两个数组。我使用的是 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/

相关文章:

c - mqueue 消息中传递结构

c - "BUG: scheduling while atomic: swapper/0x00000103/0, CPU#0"怎么解决?在 TSC2007 驱动程序中?

c - 如何在 gcc 中使用编译指示(或其他方式)指定 -march=native

c - 是否有 strncmp() 的惯用用法?

java - 无法删除我的 ip_address 中的前导零

javascript - 通过 onclick 事件将 json 编码的多维数组传递给 javascript

python - 在Python(可能是pandas)中从文件读取数组时,处理和跳过第一行(包含元数据)的优雅方法?

javascript - 有时 array.length 只能在 .push() 之后起作用(为什么?)

java - SD卡中的二维数组太慢

python - NumPy 中 random.choice 的多维数组