我正在尝试弄清楚如何将二维数组合并为一个。
我有一个二维数组,如下所示:
#include <stdio.h>
#define ROW 2
#define COL 10
int
main(void)
{
int array[ROW][COL] = {2,6,12,18,23,55,57,58,59,60} , {1,3,5,9,11,19,27,28,31,56};
}
我试图使用嵌套的 for 循环,但没有任何运气。
最佳答案
这样做:
#include <string.h> /* for memcpy() */
#define ROW (2)
#define COL (10)
int main(void)
{
int array[ROW][COL] = {
{ 2, 6, 12, 18, 23, 55, 57, 58, 59, 60},
{ 1, 3, 5, 9, 11, 19, 27, 28, 31, 56}
};
int array1D[ROW*COL];
memcpy(array1D, array, ROW*COL * sizeof(int));
}
在 C 语言中,数组元素保证以连续的方式放置在内存中(无填充!)。所以简单地复制内存就可以了。
关于c - 获取一个二维数组并将其合并为一个,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56996863/