在C中存储来自2d数组的数组

时间:2013-11-06 03:30:27

标签: c arrays

我有一个二维数组,我们称之为arr2[3][3]。如果我想将arr2的第一行存储到新数组,我们会调用arr1[3],我该怎么做?

我试过了int arr1[] = arr2[0]。但它不起作用。

2 个答案:

答案 0 :(得分:2)

在C中你必须使用for循环将array2的行复制到array1中。

for(i=0;i<3;i++)
    arr1[i] =arr2[0][i];

答案 1 :(得分:1)

您可以使用循环

分配每个元素
for(int i =0; i < 3; i++)
    arr1[i] = arr2[0][i];

或者,您可以使用memcpy。

memcpy(&arr1[0], &arr2[0][0], sizeof(int) * columnSize);

确保复制的数组在执行此方法时有足够的空间,否则会发生时髦的事情(这里比迭代更容易忽略)