21xrx.com
2025-03-31 00:03:28 Monday
文章检索 我的文章 写文章
如何在C++中创建二维数组?
2023-07-06 16:34:54 深夜i     12     0
C++ 二维数组 创建

在C++中,创建二维数组是很常见的任务。正如其名,二维数组就是有两个维度的数组,即行和列。在本篇文章中,我们将会讨论如何在C++中创建一个二维数组。

创建一个二维数组很简单:

int a[3][4];

在这个例子中,我们创建了一个3行4列的二维整数数组。

在C++中,我们可以使用以下三种方法来创建二维数组。

1. 静态数组方式

要使用这种方式,我们需要指定数组的行和列数。以下是一个示例代码:

#include <iostream>
using namespace std;
int main()
{
  int arr[3][4];
  for(int i=0;i<3;i++)
  {
    for(int j=0;j<4;j++)
    {
      arr[i][j]=i+j;   //为数组元素赋值
      cout<<arr[i][j]<<" "//打印数组元素
    }
    cout<<endl;
  }
  return 0;
}

在这个例子中,我们创建了一个名为arr的二维数组,它有3行和4列。我们使用两个嵌套的for循环为数组元素赋值,并打印了它们。

2. 动态分配内存方式

我们也可以使用动态分配内存来创建一个二维数组。这是一种很常用的方式,因为我们可以根据需要分配数组的大小。以下是一个示例代码:

#include <iostream>
using namespace std;
int main()
{
  int rows,cols;
  cout<<"输入数组的行数:";
  cin>>rows;
  cout<<"输入数组的列数:";
  cin>>cols;
  int **arr=new int*[rows];
  for(int i=0;i<rows;i++)
  {
    arr[i]=new int[cols];
  }
  for(int i=0;i<rows;i++)
  {
    for(int j=0;j<cols;j++)
    {
      arr[i][j]=i+j;   //为数组元素赋值
      cout<<arr[i][j]<<" "//打印数组元素
    }
    cout<<endl;
  }
  for(int i=0;i<rows;i++)
  {
    delete[] arr[i];
  }
  delete[] arr;
  return 0;
}

在这个示例代码中,我们使用了一个二维的指针来动态分配内存。首先,我们需要输入数组的行和列数。然后,我们使用一个for循环分配每一行的内存。最后,我们使用两个嵌套的for循环为数组元素赋值,并打印它们。在程序结束时,我们需要释放内存。

3. 一维数组方式

我们也可以使用一维数组来模拟一个二维数组。以下是一个示例代码:

#include <iostream>
using namespace std;
int main()
{
  const int ROWS=3;
  const int COLS=4;
  int arr[ROWS*COLS];
  for(int i=0;i<ROWS;i++)
  {
    for(int j=0;j<COLS;j++)
    {
      arr[i*COLS+j]=i+j;   //为数组元素赋值
      cout<<arr[i*COLS+j]<<" "//打印数组元素
    }
    cout<<endl;
  }
  return 0;
}

在这个示例代码中,我们用一维数组来模拟一个3行4列的二维数组。我们使用两个嵌套的for循环为数组元素赋值,并打印它们。

总结

以上就是C++中创建一个二维数组的三种常见方式。静态数组方式适用于数组大小已知的情况,而动态分配内存方式和一维数组方式则适用于数组大小未知或者内存有限的情况。根据不同的需求,我们可以选择不同的方式来创建并使用二维数组。

  
  

评论区

请求出错了