c语言利用函数复制数组 c语言数组复制到另一个数组

C语言 编写3个整数数组复制函数 第1个是复制出顺序相同的数组 第2个是复制出顺序相反的数组

gcc 编译测试通过

目前累计服务客户上1000+,积累了丰富的产品开发及服务经验。以网站设计水平和技术实力,树立企业形象,为客户提供成都网站制作、网站建设、外贸网站建设、网站策划、网页设计、网络营销、VI设计、网站改版、漏洞修补等服务。创新互联公司始终以务实、诚信为根本,不断创新和提高建站品质,通过对领先技术的掌握、对创意设计的研究、对客户形象的视觉传递、对应用系统的结合,为客户提供更好的一站式互联网解决方案,携手广大客户,共同发展进步。

#include stdlib.h

#include stdio.h

#define N 10

int * copyArray(int *source, int n)

{

int *dest;

int i;

// 分配空间

dest = (int*)malloc(n * sizeof(int));

// 顺序复制

for(i = 0;i  n;i ++)

dest[i] = source[i];

return dest;

}

int *copyReverse(int *source, int n)

{

int *dest;

int i;

// 分配空间

dest = (int*)malloc(n * sizeof(int));

// 逆序复制

for(i = 0;i  n;i ++)

dest[n - i - 1] = source[i];

return dest;

}

int *copyOrder(int *source, int n)

{

int *dest;

int i,j,minIndex;

// 分配空间

dest = (int*)malloc(n * sizeof(int));

// 顺序复制

for(i = 0;i  n;i ++)

dest[i] = source[i];

// 对数组选择排序

for(i = 0;i  n - 1;i ++)

{

minIndex = i;

for(j = i;j  n;j ++)

{

// 选择本次最小下标(如果需要降序,将  改为  ,重新编译)

if(dest[j]  dest[minIndex])

minIndex = j;

// 交换元素

if(minIndex != i)

{

dest[i] = dest[i] ^ dest[minIndex];

dest[minIndex] = dest[i] ^ dest[minIndex];

dest[i] = dest[i] ^ dest[minIndex];

}

}

}

return dest;

}

int main()

{

int test[N] = {2,4,1,0,9,5,6,8,7,3};

int *origin,*reverse,*order;

int i;

origin = copyArray(test,N);

reverse = copyReverse(test,N);

order = copyOrder(test,N);

for(i = 0; i  N; i ++)

printf("%d ",origin[i]);

printf("\n");

for(i = 0; i  N; i ++)

printf("%d ",reverse[i]);

printf("\n");

for(i = 0; i  N; i ++)

printf("%d ",order[i]);

printf("\n");

free(origin);

free(reverse);

free(order);

return 0;

}

c语言如何实现多维整型数组的复制

有两种常用的方法。

1 对数组各个维循环,遍历每个元素,并将其赋值到目标数组的对应位置上。

缺点:代码相对复杂。

优点:可以不不同大小和形式的数组进行交叉复制。

2 利用C语言中多维数组元素存储连续性,使用memcpy函数整体复制。

缺点:仅使用源数组要复制的数据是连续的,同时在目标数组中以同样顺序连续复制的情况。

优点:代码简单,一个函数调用即可完成赋值。相对第一种,执行效率略高。

C语言如何使用strcat函数复制数组前n个数,比如abcdef复制只需要abc

#includestdio.h

#includestring.h

void main() { char str1[256],str2[256]; int n;

scanf("%d%s",n,str2);

strcpy(str1,str2); str1[n]=0;

printf("%s\n",str1);

}

C语言中如何复制数组的内容

#include"string.h"

#include"stdio.h"

intmain(void)

{

inti,j;

inta[2][3]={{1,2,3},{4,5,6}};

intb[2][3];

memcpy(b[0][0],a[0][0],24);

printf("%d",b[1][0]);

}

扩展资料

#includestdio.h

#includestring.h

#includestdlib.h

voidprintarr2d(int(*a)[3],introw,intcol);

intmain()

{

inti,j;

inta[2][3]={{1,2,3},{4,5,6}};

intb[4][3]={{0,0,0},{0,0,0}};

memcpy(b[2],a,sizeof(int)*2*3);

printarr2d(b,4,3);

return0;

}

/***********************************************

打印显示数组

************************************************/

voidprintarr2d(int(*a)[3],introw,intcol)

{

inti,j;

for(i=0;irow;i++)

{

for(j=0;jcol;j++)

{

printf("%d",a[i][j]);

}

printf("\n");

}

}


当前标题:c语言利用函数复制数组 c语言数组复制到另一个数组
文章出自:http://myzitong.com/article/ddjdsss.html