问答文章1 问答文章501 问答文章1001 问答文章1501 问答文章2001 问答文章2501 问答文章3001 问答文章3501 问答文章4001 问答文章4501 问答文章5001 问答文章5501 问答文章6001 问答文章6501 问答文章7001 问答文章7501 问答文章8001 问答文章8501 问答文章9001 问答文章9501

C++如何建立动态二维数组?

发布网友 发布时间:2022-04-23 02:41

我来回答

5个回答

热心网友 时间:2023-10-05 09:53

int **p;
int i;

//申请空间
p = (int**)malloc(sizeof(int*)*M);
for (i=0; i<M; i++)
p[i] = (int*)malloc(sizeof(int)*N);

//释放空间
for (i=0; i<M; i++)
free(p[i]);
free(p);

同时还有种方法推荐你。。。我临时想到的,没试过有兴趣你可以去试试。可以建个带1个变量的结构体,然后再定义个一维结构体指针,可能这样相对能让你更容易掌握。

热心网友 时间:2023-10-05 09:54

int w,h;
char**a=NULL;
a=new int[h][w];
按照上边改了,还是不行。
后来想通了,多为数组指针必须指定除第一位外的其他维的长度。
int (*a)[3]是有效的,但是int **a是没有什么意义的。编译器需要知道如a[3][3]这样的变量偏移a的地址,但是又不知道每一维的长度,那怎么算偏移量呢。
你要动态建立二维数组,必须知道第二维的长度。
如果真的需要二维数组,就用一维的代替吧,自己算偏移量。
int w,h;
char *a=NULL;
a=new int[h*w];
如果你要取a[3][2]那就是a[3*w+2]

热心网友 时间:2023-10-05 09:54

数组创建后就不能修改了, 数组的大小必须用常量明确定义。其实你可以用链表实现。
如果非要这样实现的话 ,我给你个大概的思路,// TwoDimensionArray.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include "stdlib.h"
#include "stdio.h"

int _tmain(int argc, _TCHAR* argv[])
{
int x,y;
printf("please input X[x] and Y[y].\n");
scanf("%d%d",&x,&y);
printf("x=%d,y=%d\n",x,y);
/*申请行地址空间*/
int **p = (int **)malloc(sizeof(int)*x);

/*申请列地址空间*/
for(int i=0;i<y;i++)
p[i] = (int *)malloc(sizeof(int)*y);

/*初始化内存空间*/
for(int i=0;i<x;i++)
for(int j=0;j<y;j++)
{
scanf("%d",&p[i][j]);
}

/*打印数组*/
for(int i=0;i<x;i++)
for(int j=0;j<y;j++)
{
printf("%d ",p[i][j]);
if(j == y)
printf("\n");
}
/*释放空间*/
for(int i=0;i<y;i++)
free(p[i]);
return 0;
}

热心网友 时间:2023-10-05 09:55

int w,h;
cin>>w>>h;
char **a=new char*[h];
for(int i=0;i<h;i++)
a[i]=new char[w];
你看看有用不。

热心网友 时间:2023-10-05 09:56

int **p,h,w,i;
cout<<"输入2维数组行数和列数:";
cin>>h>>w;
p=new int*[h];
for( i=0;i<=h;i++)
p[i]=new int[w];
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com
宁德市有哪些区 福建宁德市有哪些区 宁德市有哪些商圈 安装项目错误: 项目文件不存在 (C:\Windows\SolidWorks\IM_20110-4 高压103低压98心跳104,医生初诊是脑梗,怎么治疗,吃什么药?饮食方面注 ... 最新版好玩的谐音梗网名210个 比较搞笑幽默的网名 德国猎梗FCI标准 “流泉百折玉琮琤”的出处是哪里 “细听犀谈座为倾”的出处是哪里 “西蜀东吴一世英”的出处是哪里 在C++中如何建立二维字符数组? java怎么构建二维数组呢? 如何在CAD中建立二维坐标系 如何在C++中动态建立二维数组 如何创建动态的二维数组? cad怎么建立二维图纸 CAD中怎么新建二维图形样板文档 HUAWEI Mate X2 新一代折叠旗舰,升级HarmonyOS 2看视频怎么样全屏? 华为保时捷和华为折叠屏x2哪个好? java中的二维数组怎样创建? 针对折叠屏MateX2的UX设计及UI适配,我们可以在哪些界面为顾客讲解演示? JAVA中如何创建一个二维数组,然后给二维数组赋值! 手机一直收到验证码骚扰怎么办? 手机号被恶意注册验证,连续收到验证码验证的短信通知,怎么办 手机为什么会收到很多验证码短信? 一直收到各银行信用卡短信验证码怎么回事? 华为手机不断受到验证码怎么解决? 合肥咸干渣肉的做法 渣肉蒸饭的做法可以将米和生肉同时下锅蒸吗 蒸酸渣肉用冷水还是开水蒸 C++如何动态创建二维数组? C++怎么使用malloc建立二维数组 干牡蛎怎么做好吃 生蚝干怎样做最好吃 干牡蛎怎么吃? 干的牡蛎可以做什么吃呢?可以煮粥吗? 牡蛎干怎么泡完来做好吃 牡蛎干怎么泡 牡蛎干怎么泡完来做好吃? 牡蛎干怎么吃 牡蛎干怎么做好吃 牡蛎怎么吃最营养 比较牡蛎和生蚝的区别 牡蛎(生蚝)都可以怎么吃? 檀木梳和樱桃木梳,桃木梳各有什么功效 在没有控制点的情况下,要怎么测地形图 《尼尔斯骑鹅旅行记》白衣女神住在哪里 祖父·后园.我(节选)祖父后面的符号是什么意思? 第二辑森林里的樱桃树和第一辑有什么区别 GPS测量坐标点数据,野外无控制点情况 描写樱桃树的句子