C++怎么定义一个动态二维数组

 我来答
爱教育爱学习
高粉答主

2019-10-23 · 说的都是干货,快来关注
知道小有建树答主
回答量:2774
采纳率:100%
帮助的人:101万
展开全部

#include<stdlib.h>

#include<stdio.h>

#include<malloc.h>

#defineRANK10

#defineCOLUMN7

intmain()

{

inti,j;

int(*p)[COLUMN];

//动态生成二维数组,指定列数为COLUMN,如果想改,可以进行修改

//的参数,如果想定义n行2列就为:p=(int(*)[2])malloc(n*2*sizeof(int));

p=(int(*)[COLUMN])malloc(RANK*COLUMN*sizeof(int));//动态申请n行COLUMN列的二维数组

for(i=0;i<RANK;i++)

for(j=0;j<COLUMN;j++)

p[i][j]=i*j;

for(i=0;i<RANK;i++)

{

for(j=0;j<COLUMN;j++)

printf("%d,",p[i][j]);

printf("\n");

}

free(p);

system("pause");

return0;

}

扩展资料

定义一个三维数组:

intx[3][4][5];

定义了一个三维数组,数组的名字是x,数组的长度为3,每个数组的元素又是一个二维数组,这个二维数组的长度是4。

并且这个二维数组中的每个元素又是一个一维数组,这个一维数组的长度是5,元素类型是int。多维数组在实际的工作中使用不多,并且使用方法与二维数组相似。

szwpvz
2015-07-03 · TA获得超过641个赞
知道小有建树答主
回答量:374
采纳率:0%
帮助的人:276万
展开全部

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
慎重还可靠灬宝贝f
推荐于2017-10-13 · TA获得超过12.9万个赞
知道大有可为答主
回答量:1.9万
采纳率:52%
帮助的人:3216万
展开全部
用new申请空间;
再在对每个数进行初始化;
//动态定义和初始化二维数组 部分代码
cout<<"输入二维数组的行,列 :";
cin>>row >>col ;
int **p2 ;
p2 = new int*[row] ;
for( i = 0 ; i < row ; i ++ )
p2[i] = new int[col] ;
//输入二维数组的值
for( i = 0 ; i < row ; i ++ )
for( j = 0 ; j < col ; j ++ )
p2[i][j] = rand() % 10 ;
//输出二维数组
cout<<"输出二位数组:"<<endl;
for( i = 0 ; i < row ; i ++ )
{
for( j = 0 ;j < col ; j ++ )
cout<<p2[i][j]<<' ' ;
cout<<endl;
}
//释放二维数组
for( i = 0 ; i < row ; i ++ )
delete []p2[i] ;
delete []p2 ;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
linansx037
2011-12-10 · TA获得超过503个赞
知道小有建树答主
回答量:192
采纳率:100%
帮助的人:88.4万
展开全部
#include <vector>
typedef vector<vector<int> > matrix;
这样matrix就是二维数组了,可以用push_back()动态往里面添加元素 ,不用预先定义数组大小
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
duck_lwz
2011-12-10 · TA获得超过512个赞
知道小有建树答主
回答量:313
采纳率:0%
帮助的人:352万
展开全部
int row, col;
cin >> row >> col;
int** ptr = new int* [row];
for(int i=0; i<row; i++)
{
ptr[i] = new int [col];
}
//使用之后一定要记得释放内存
for(int j=0; j<row; j++)
{
delete [] ptr[j];
}
delete [] ptr;
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(6)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式