array 的复制

来源:百度知道 编辑:UC知道 时间:2024/05/27 01:04:49
Write a program that initialises a two-dimensional array of double and uses a copy function to copy it to a second two-dimensional array. Use the one-dimensional copy function to copy the sub-arrays of the two-dimensional array, one-by-one.
Hint: Remember how the two-dimensional arrays are stored in the memory!
你乃神人也!

【这样】
#include <stdio.h>
#define N 10
void ArrayCopy1(double a[],double b[],int size) //复制一维数组的函数,用来复制每一行
{
int i;
for(i=0;i<size;i++)
b[i]=a[i];
}

void ArrayCopy2(double a[][N],double b[][N],int row) //复制二维数组的函数
{
int i;
for(i=0;i<row;i++)
ArrayCopy1(a[i],b[i],N);
}

int main()
{
double arr1[2][N],arr2[2][N];
int i,j;
for(i=0;i<2;i++)
{
for(j=0;j<N;j++)
arr1[i][j]=i+j;
}
ArrayCopy2(arr1,arr2,2);
for(i=0;i<2;i++)
{
for(j=0;j<N;j++)
printf("%.0lf ",arr2[i][j]);
printf("\n");
}
return 0;
}