如何用C++实现将一个数组的值赋值给另一个数组
时间: 2023-09-01 14:07:57 浏览: 37
在C++中,可以使用`std::copy`算法或者`for`循环遍历的方式将一个数组的值赋值给另一个数组,示例代码如下:
使用`std::copy`算法:
```c++
#include <iostream>
#include <algorithm>
using namespace std;
const int ARRAY_SIZE = 5;
int main()
{
int arr1[ARRAY_SIZE] = {1, 2, 3, 4, 5};
int arr2[ARRAY_SIZE];
copy(arr1, arr1 + ARRAY_SIZE, arr2);
cout << "arr1: ";
for(int i = 0; i < ARRAY_SIZE; i++)
{
cout << arr1[i] << " ";
}
cout << endl << "arr2: ";
for(int i = 0; i < ARRAY_SIZE; i++)
{
cout << arr2[i] << " ";
}
return 0;
}
```
输出结果为:
```
arr1: 1 2 3 4 5
arr2: 1 2 3 4 5
```
在这个示例代码中,我们使用了`std::copy`算法,将`arr1`中的值赋值给`arr2`。`std::copy`算法接受三个参数,第一个参数是源数组的起始位置,第二个参数是源数组的结束位置,第三个参数是目标数组的起始位置。使用`std::copy`算法可以大大简化赋值的过程。
使用`for`循环遍历:
```c++
#include <iostream>
using namespace std;
const int ARRAY_SIZE = 5;
int main()
{
int arr1[ARRAY_SIZE] = {1, 2, 3, 4, 5};
int arr2[ARRAY_SIZE];
for(int i = 0; i < ARRAY_SIZE; i++)
{
arr2[i] = arr1[i];
}
cout << "arr1: ";
for(int i = 0; i < ARRAY_SIZE; i++)
{
cout << arr1[i] << " ";
}
cout << endl << "arr2: ";
for(int i = 0; i < ARRAY_SIZE; i++)
{
cout << arr2[i] << " ";
}
return 0;
}
```
输出结果与上面的示例代码相同。在这个示例代码中,我们使用`for`循环遍历`arr1`,将每个元素的值赋值给`arr2`对应的元素。最后输出两个数组的值,可以看到它们的值相同。在C++中,使用`for`循环遍历赋值是比较常见的方式。