用 C++ 创建、释放一维、二维、三维动态数组

千言万语,抵不过源码的展示:

int *array;
// 一维动态数组创建
array = new int[n];
// 一维动态数组释放
delete []array;
int **array;
// 二维动态数组创建
array = new int*[m];
for(int i=0; i<m; i++) {
  array[i] = new int[n];
}
// 二维动态数组释放
for(int i=0; i<m; i++) {
  delete []array[i];
}
delete []array; 
int ***array;
// 三维动态数组创建
array = new int**[m];
for(int i=0; i<m; i++) {
  array[i] = new int*[n];
  for(int j=0; j<n; j++) {
    array[i][j] = new int[h];
  }
}
// 三维动态数组释放
for(int i=0; i<m; i++) {
  for(int j=0; j<n; j++) {
    delete array[i][j];
  }
  delete array[i];
}
delete []array;

实际上,我们在学习过程中,必然会首先接触到一维动态数组的创建。从一维向二维扩展会有新的问题,但从二维向更高维,出现的问题我们都应该自己去解决,因为那些问题实际上都是之前问题的变种。

这才是计算机,这才是编程。

发布了101 篇原创文章 · 获赞 26 · 访问量 1万+

猜你喜欢

转载自blog.csdn.net/liujh_990807/article/details/99620778