问题描述
- 二维动态数组的创建过程
-
int m,n; cin>>m>>n; int **p = NULL; p = new int *[m]; for(int i=0;i<m;i++) p[i] = new int[n]; 可以解释下后四句的具体过程吗?
解决方案
int p = NULL;//p是变量名,int是类型,即定义一个二维指针p,p指向空
p = new int *[m];//给p赋值,p指向一个指针数组,这个数组有m个成员
for(int i=0;i<m;i++)//循环m次
p[i] = new int[n];//给p指向的每一个指针数组的成员赋值,让他们各指向一个有n个成员的数组
解决方案二:
int m,n; //表示数组长度
cin>>m>>n; //输入
int **p = NULL;
p = new int *[m]; //用new创建数组的数组
for(int i=0;i<m;i++)
p[i] = new int[n]; //创建每一个数组
其实**p是数组的数组,这样比较好理解。数组的每个元素是一个整数数组
解决方案三:
方法1.用new / delete创建二维动态数组
代码:
#include<iostream>
#include<vector>
using namespace std;
#define ROW 2 //行数
#define COLUMN 3 //列数
#define VALUE 1 //数组元素值
//使用new/delete创建二维数组
int ......
答案就在这里:C++中二维动态数组的创建
时间: 2024-10-30 14:08:42