21xrx.com
2024-09-19 08:17:33 Thursday
登录
文章检索 我的文章 写文章
C++中创建二维数组的方法
2023-07-05 11:04:45 深夜i     --     --
C++ 二维数组 创建方法

在C++中创建二维数组是一种常见的操作,它可以用来存储大量的数据。二维数组通常用于矩阵、图像等数据处理任务。在C++中,有多种方法可以创建二维数组,这篇文章将介绍其中三种方法。

方法一:使用普通指针数组来创建二维数组

在C++中,我们可以用指针来模拟数组,并且在内存中连续存储。普通指针数组可以使用以下语法声明:

  int* ptrArray[行数];

其中,指针数组的类型是int*,表示该数组存储的是int类型的变量的地址。行数是数组的行数,也可以是变量。

我们可以使用以下语句来为二维数组分配内存,并初始化它:

  const int ROW = 3;

  const int COL = 4;

  int* ptrArray[ROW];

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

  {

    ptrArray[i] = new int[COL];

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

    {

      ptrArray[i][j] = i * COL + j;

    }

  }

在这个例子中,我们声明了一个包含三个元素的指针数组,每个元素都是一个指向int类型变量的指针。接着使用循环为每个指针分配内存,并在内存中放置该行的数据。

方法二:使用二级指针来创建二维数组

C++中另一种创建二维数组的方法是使用二级指针,也就是指向指针的指针。我们可以使用以下语法声明一个二级指针:

  int** p = new int*[ROW];

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

  {

    p[i] = new int[COL];

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

    {

      p[i][j] = i * COL + j;

    }

  }

与普通指针数组不同,后面的方括号不包含任何数字,这是因为数组的长度是在运行时动态分配的。

方法三:使用vector来创建二维数组

C++中还有一种方式来创建二维数组,这就是使用C++中的STL库提供的vector容器。vector是C++标准模板库提供的容器,能够自动管理内存分配,使用非常方便。

下面展示使用vector来创建二维数组的代码:

  const int ROW = 3;

  const int COL = 4;

  vector > vec(ROW, vector (COL));

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

  {

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

    {

      vec[i][j] = i * COL + j;

    }

  }

在这个例子中,我们声明一个包含三行四列的vector,然后使用循环为每个元素的初始化赋值。由于vector能够自动管理内存,我们无需担心内存泄漏等问题。

以上就是在C++中创建二维数组的三种方法。这些方法都有各自的优缺点,开发者可以根据实际需求选择最适合自己应用场景的方法。

  
  

评论区

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