//复制二维数组
#include <stdio.h>
void copy_arr(double source[5][5],double target1[5][5],int j)
{ int i,u;
for(u=0;u<5;u++)
{for(i=0;i<j;i++)
{ target1[u][i]=source[u][i];
printf(" the target1[%d][%d] is %lf\n",u,i,target1[u][i]);
}}
}
void main()
{ double source[5][5]={1.1,2.2,3.3,4.4,5.5,0,1,2,3,4,5,6,9,8,7,45,26,12,15,48,78,89,46,45,25};
double target1[5][5];
copy_arr(source,target1,5);
}
//复制两种方法
#include <stdio.h>
void copy_arr(double source[5],double target1[5],int j)
{ int i;
for(i=0;i<j;i++)
{ target1[i]=source[i];
printf(" the target1[%d] is %lf\n",i,target1[i]);
}
}
void copy_ptr(double source[5],double target2[5],int j)
{ int i;
double *ptr;
ptr=target2;
for(i=0;i<j;i++)
{target2[i]=source[i];
printf(" the target2[%d] is %lf\n",i,*(ptr+i));
}
}
void main()
{ double source[5]={1.1,2.2,3.3,4.4,5.5};
double target1[5];
double target2[5];
copy_arr(source,target1,5);
copy_ptr(source,target2,5);
}
//旧的复制法
#include <stdio.h>
void copy_ptr(double source[7],double target2[7],int j)
{ int i;
double *ptr;
ptr=target2;
for(i=2;i<j-2;i++)
{ target2[i]=source[i];
printf(" the target2[%d] is %lf\n",i,*(ptr+i));
}
}
void main()
{ double source[7]={1.1,2.2,3.3,4.4,5.5,6.6,7.7};
double target2[7];
copy_ptr(source,target2,7);
}
//新的复制法
#include <stdio.h>
void copy_ptr(double source[5],double target2[5],int j)
{ int i;
double *ptr;
ptr=target2;
for(i=0;i<j;i++)
{ target2[i]=source[i];
printf(" the target2[%d] is %lf\n",i,*(ptr+i));
}
}
void main()
{ double source[7]={1.1,2.2,3.3,4.4,5.5,6.6,7.7};
double target2[3];
copy_ptr(source+2,target2,3);
}