21xrx.com
2024-12-22 22:07:02 Sunday
登录
文章检索 我的文章 写文章
C++动态创建二维数组的方法浅析
2023-07-07 15:10:44 深夜i     --     --
C++语言 动态创建 二维数组 方法 分析

C++语言中,数组是一种常用的数据结构。在程序中,如果要使用二维数组,需要先声明数组的大小,然后使用循环语句进行赋值。但有时候我们需要动态创建一个二维数组,以便更加灵活地对其进行操作。接下来,本文将对C++动态创建二维数组的方法进行浅析。

一、使用new关键字动态创建数组

在C++中,可以使用new关键字来动态创建数组。要创建一个二维数组,首先需要确定数组的行数和列数,然后使用下面的语句进行创建:

int **arr = new int*[rows];

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

{

  arr[i] = new int[cols];

}

上述代码中,首先使用new int*[rows]创建了一个指针数组arr,这个数组包含了rows个指针元素。然后在for循环中,依次对arr数组的每个指针元素使用new int[cols]创建一个大小为cols的int类型数组。最终,arr就成为了一个大小为rows*cols的二维数组。

在使用完数组后,也要记得使用delete关键字来释放内存:

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

{

  delete[] arr[i];

}

delete[] arr;

二、使用vector容器动态创建数组

除了使用new关键字,还可以使用C++ STL中的vector容器来动态创建数组。vector是一个封装了动态数组的顺序容器,可以自动调整大小。

要使用vector容器创建二维数组,可以先声明一个vector >对象,然后再使用resize()方法设定二维数组的大小:

vector > arr;

arr.resize(rows, vector (cols));

上述代码中,使用resize()方法将二维数组设为了rows行cols列,并使用vector (cols)为每一行分配了大小为cols的int类型向量。

如果需要访问该二维数组的元素,可以通过双重循环来实现:

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

{

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

  {

    arr[i][j] = i * j;

  }

}

总之,动态创建二维数组是C++中常见的操作,掌握好对应的方法并能够妥善地释放内存,将会为我们的程序提供更多的灵活性和方便性。

  
  

评论区

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