21xrx.com
2024-09-20 00:41:05 Friday
登录
文章检索 我的文章 写文章
C++ 实现二维数组复制
2023-07-01 03:44:21 深夜i     --     --
C++ 二维数组 复制

二维数组是由多个一维数组组成的数据结构,是程序开发中经常使用的数据类型之一。在实际应用中,我们经常需要对二维数组进行复制操作,以方便程序的实现和优化。本文将介绍如何在 C++ 中实现二维数组的复制操作。

C++ 中实现二维数组复制可以使用两种方法:循环遍历和 memcpy 函数。

循环遍历是最基本的数组复制方法,也是最容易理解和实现的方法。它的原理是通过嵌套循环遍历源数组,将每个元素逐一复制到目标数组中。具体实现代码如下:


#include <iostream>

using namespace std;

const int ROW = 3;

const int COL = 4;

int main()

{

  int src_arr[ROW][COL] = {3,8,11};

  int dst_arr[ROW][COL];

  for(int i=0; i<ROW; i++){

    for(int j=0; j<COL; j++){

      dst_arr[i][j] = src_arr[i][j];

    }

  }

  for(int i=0; i<ROW; i++){

    for(int j=0; j<COL; j++){

      cout << dst_arr[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

以上代码首先定义了一个二维数组 `src_arr` 和一个空的二维数组 `dst_arr`。接着通过两层循环遍历 `src_arr`,将每个元素逐一复制到 `dst_arr` 中。最后再次遍历 `dst_arr`,输出每个元素的值。

循环遍历虽然简单易用,但是在数据量较大时会造成复制速度慢的问题。为了解决这个问题,我们可以使用 `memcpy` 函数进行数组复制。`memcpy` 函数是 C 语言中的标准函数,其实现原理是将源数组中的一段数据拷贝到目标数组中。使用 `memcpy` 函数可以使数组复制操作更加高效。

具体实现代码如下:


#include <iostream>

#include <cstring>

using namespace std;

const int ROW = 3;

const int COL = 4;

int main()

{

  int src_arr[ROW][COL] = {3,7,12};

  int dst_arr[ROW][COL];

  memcpy(dst_arr, src_arr, ROW*COL*sizeof(int));

  for(int i=0; i<ROW; i++){

    for(int j=0; j<COL; j++){

      cout << dst_arr[i][j] << " ";

    }

    cout << endl;

  }

  return 0;

}

以上代码首先定义了一个二维数组 `src_arr` 和一个空的二维数组 `dst_arr`。接着使用 `memcpy` 函数将 `src_arr` 中的数据复制到 `dst_arr` 中。最后再次遍历 `dst_arr`,输出每个元素的值。

总的来说,C++ 中实现二维数组复制有两种方法:循环遍历和 `memcpy` 函数。使用循环遍历方法可以使代码更易于理解和实现;而使用 `memcpy` 函数可以使程序执行速度更快。在实际应用中,我们可以根据具体情况选择合适的方法来实现二维数组的复制操作。

  
  

评论区

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