189 8069 5689

c语言编写数组拷贝函数 c语言拷贝函数代码

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

有两种常用的方法。

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

缺点:代码相对复杂。

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

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

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

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

C语言必做复制函数数组

#include stdio.h

#includestring.h

int main()

{

char ch[40];

char c[20]={"asdfgh"};

strcpy(ch,c);

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

}


文章名称:c语言编写数组拷贝函数 c语言拷贝函数代码
网页路径:http://jkwzsj.com/article/dodijgo.html

其他资讯