我有一个二维数组,我们称之为arr2[3][3]
。如果我想将arr2
的第一行存储到新数组,我们会调用arr1[3]
,我该怎么做?
我试过了int arr1[] = arr2[0]
。但它不起作用。
答案 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);
确保复制的数组在执行此方法时有足够的空间,否则会发生时髦的事情(这里比迭代更容易忽略)