我有一个二维数组,我们称之为arr2[3][3]
. 如果我想将 的第一行存储arr2
到一个新数组中,我们调用arr1[3]
,我该怎么做?
我试过了int arr1[] = arr2[0]
。但它不起作用。
在 C 中,您必须使用这样的 for 循环将 array2 的行复制到 array1 中。
for(i=0;i<3;i++)
arr1[i] =arr2[0][i];
您可以使用循环分配每个元素
for(int i =0; i < 3; i++)
arr1[i] = arr2[0][i];
或者,您可以使用 memcpy。
memcpy(&arr1[0], &arr2[0][0], sizeof(int) * columnSize);
确保在执行此方法时要复制到的数组有足够的空间,否则会发生一些奇怪的事情(这里比迭代更容易忽略)