1

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

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

4

2 回答 2

2

在 C 中,您必须使用这样的 for 循环将 array2 的行复制到 array1 中。

for(i=0;i<3;i++)
    arr1[i] =arr2[0][i];
于 2013-11-06T03:33:48.143 回答
1

您可以使用循环分配每个元素

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

或者,您可以使用 memcpy。

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

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

于 2013-11-06T03:48:12.523 回答