网站建设资讯

NEWS

网站建设资讯

c语言编写数组复制的函数 c语言字符数组的复制

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

#include"string.h"

张掖ssl适用于网站、小程序/APP、API接口等需要进行数据传输应用场景,ssl证书未来市场广阔!成为创新互联的ssl证书销售渠道,可以享受市场价格4-6折优惠!如果有意向欢迎电话联系或者加微信:18982081108(备注:SSL证书合作)期待与您的合作!

#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语言如何实现多维整型数组的复制

有两种常用的方法。

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

缺点:代码相对复杂。

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

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

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

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

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

gcc 编译测试通过

#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语言编写数组复制的函数 c语言字符数组的复制
文章源于:http://cdweb.net/article/hjcjos.html