21xrx.com
2024-12-23 00:29:14 Monday
登录
文章检索 我的文章 写文章
C++如何复制一个数组?
2023-07-07 15:16:01 深夜i     --     --
C++ 复制 数组

在C++中,复制一个数组可以使用循环语句或者标准库中的函数。下面将分别介绍这两种方法。

1. 循环语句

数组的复制可以使用循环语句来实现。具体步骤如下:

1)创建一个新的数组

2)使用循环语句,将原数组中的每个元素复制到新数组中

3)新数组即为原数组的副本

下面是一个使用for循环语句复制数组的例子:


#include <iostream>

using namespace std;

int main()

{

  int arr1[] = 2;

  int arr2[5];

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

  {

    arr2[i] = arr1[i];

  }

 

  cout<<"Original array: ";

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

  {

    cout<<arr1[i]<<", ";

  }

  cout<<"\nCopy array: ";

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

  {

    cout<<arr2[i]<<", ";

  }

  return 0;

}

2. 标准库函数

C++提供了一些标准库函数,可以用来复制数组。其中最常用的函数是memcpy()。memcpy()函数的原型如下:


void *memcpy(void *dest, const void *src, size_t n);

其中,dest表示目标地址,即要将源地址中的数据复制到哪里;src表示源地址,即要复制的数据的地址;n表示要复制的字节数。

下面是使用memcpy()函数复制数组的一个实例:


#include <iostream>

#include <cstring>

using namespace std;

int main()

{

  int arr1[] = 2;

  int arr2[5];

  memcpy(arr2, arr1, sizeof(arr1));

 

  cout<<"Original array: ";

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

  {

    cout<<arr1[i]<<", ";

  }

  cout<<"\nCopy array: ";

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

  {

    cout<<arr2[i]<<", ";

  }

  return 0;

}

无论使用哪种方法,复制数组都是通过将数组中的元素逐个复制到新数组中实现的。由于C++中数组的特性,数组名本质上就是一个指针,因此在传递数组参数时不需要加上&符号。这样做可以避免浪费大量的时间和空间,提高程序的效率。

  
  

评论区

{{item['qq_nickname']}}
()
回复
回复