21xrx.com
2024-12-22 18:31:55 Sunday
登录
文章检索 我的文章 写文章
C++实现不定长二维数组
2023-07-05 00:49:58 深夜i     --     --
C++ 实现 不定长 二维数组

在C++中,有时候需要使用二维数组来存储数据,而且这个二维数组的长度是不固定的。我们可以使用指针来实现这个功能。

首先,我们需要定义一个二维数组的指针,类似于这样:

int **array;

接着,我们可以使用new来动态分配二维数组的内存,具体代码如下:

int row = 3; // 二维数组的行数

int *col = new int[3]; // 每一行的列数,这里假设每一行的列数都为3

for(int i=0; i

  col[i] = 3;

}

array = new int*[row];

for(int i=0; i

  array[i] = new int[col[i]];

}

上面的代码中,我们定义了一个row变量表示二维数组的行数,以及一个col数组表示每一行的列数。然后使用循环给每一行的列数都赋值为3。最后,使用new分别为二维数组的每一行动态分配内存。

最后,我们可以按照普通二维数组的方式来使用这个不定长的二维数组,例如:

array[0][0] = 1;

array[0][1] = 2;

array[0][2] = 3;

array[1][0] = 4;

// ...

使用完二维数组后,我们需要释放内存,具体代码如下:

for(int i=0; i

  delete[] array[i];

}

delete[] array;

delete[] col;

上面的代码中,首先使用循环释放二维数组的每一行的内存,然后再释放二维数组本身以及col数组的内存。

总之,使用指针可以很方便地实现不定长二维数组,但是要注意内存泄漏的问题。建议大家在使用时多做一些内存处理。

  
  

评论区

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