三种数组复制的方法

发布于:2022-12-20 ⋅ 阅读:(466) ⋅ 点赞:(0)

#include<iostream>

#include<Windows.h>

 

using namespace std;

 

//打印函数

void print_Words(double arr[],int len)

{

 cout << "打印出的结果为:" << endl;

 for (int i = 0; i < len; i++)

 {

  cout << arr[i] << " ";

 }

 cout << endl;

}

 

 

//方法一:带数组的复制

/*void copy_arr(double target1[], double source[], int len)

{

 for (int i = 0; i < len; i++)

 {

  target1[i] = source[i];

 }

 print_Words(target1, 5);

}*/

//方法二:带指针的copy.

/*void copy_ptr(double*target2,double*source,int len)

{

 int pos = 0;

 for (int i = 0; i < len; i++,pos++)

 {

  *(target2+pos) = *(source++);

 }

 print_Words(target2, 5); 

 

}*/

 

//方法三:函数以目标数组名,源数组名和指向源数组最后一个元素后面的元素的指针。

 

void copy_ptrs(double*target3,double*source_start,double *source_end)

{

 int pos = 0;

 for (; source_start < source_end; source_start++,pos++)

 {

  *(target3+pos) = *source_start;

 }

 print_Words(target3, 5);

}

 

int main()

{

 double source[5] = { 1.1,2.2,3.3,4.4,5.5 };

 //double target1[5];

 //double target2[5];

 double target3[5];

 

 //copy_arr(target1, source, 5);//方法一

 

 //copy_ptr(target2, source, 5);//方法二

 

 copy_ptrs(target3, source, source + 5);//方法三

 

 system("pause");

 return 0;

}

7ce4cd8af1094636bae75c895e0d193b.png

 


网站公告

今日签到

点亮在社区的每一天
去签到