在创建动态二维数组之前,我们先复习一下如何创建动态一维数组
//动态一维数组
int n = 5;
int* arr0 = new int[n]; //创建动态一维数组
for (int i = 0; i < 5; i++)
arr0[i] = i; //给数组赋值
for (int i = 0; i < 5; i++)//输出动态一维数组
cout << arr0[i]<<" ";
cout << endl;
//动态二维数组 4*5
int a = 4;
int b = 5; //这里ab可以由用户输入,是变量
int** arr = new int* [a];//先创建指针的指针,指向一个指针数组
for (int i = 0; i < a; i++)
{
arr[i] = new int[b];//让指针数组中的每一个指针,都指向一个动态一维数组
for (int j = 0; j < b; j++)
{
arr[i][j] = i + j;//对二维数组中的元素赋值
}
}
for (int i = 0; i < a; i++)//对二维数组输出
{
for (int j = 0; j < b; j++)
cout << arr[i][j] << " ";
cout << endl;
}
总体思路就是,先创建一个指针的指针**arr,让这个指针指向一个指针数组(这个数组里面的元素全是指针)。
然后让指针数组里面的指针,都指向一个动态创建的一维数组。
这样动态二维数组就创建好了。大致可以如下图所示理解。
希望能和大家一起学习,一起进步,觉得不错的话记得关注点赞哦
我会继续更新一下c++的一些知识点