C++之定义动态二维数组
直接上代码
#include"stdio.h"
#include<iostream>
using namespace std;
int main()
{
//创建
int row, column;
cout << "请输入行和列:"<<endl;
cin >> row >> column;
int** array = new int* [row]; //定义动态二维数组,即行先定义
for (int i = 0; i < row; i++)
array[i] = new int[column]; //为之前的指针数组也分配一维数组,即列后定义
cout << "请输入值:" << endl;
for (int i = 0; i < row; i++)
for (int j = 0; j < column; j++)
cin >> array[i][j];
cout << "输出显示:" << endl;
//显示
for (int i = 0; i < row; i++)
{
for (int j = 0; j < column; j++)
{
cout << array[i][j] << " ";
}
cout << endl;
}
//delete释放资源
//先释放掉指针数组中每行元素所指向的数组,子释放掉自身
for (int i = 0; i < row; i++)
{
delete[]array[i];//表示释放掉之前每行所设的一维数组,也就是列
}
delete[]array; //最后释放掉行
}
by the way:一维动态数组就是吧二维的左右两边去掉一个*号
int size=10;
int*p=new int[size];
delete []p;