动态申请二维数组的问题

hackbuteer1 2011-08-15 10:32:34
int **c = (int**)(new int[5]);
for(int i= 0; i < 5; i++)
c[i] = (int*)new int[9];

请问上面动态申请二位的数组是5行9列还是9行5列,意思就是说for循环上面动态申请的是行还是列,for里面动态申请的又是上面???

上面的代码跟下面的2个代码中的哪个是等价的:
int **c = (int**) new int[5][9];
int **c = (int**) new int[9][5];
...全文
221 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
独酌逸醉 2011-08-15
  • 打赏
  • 举报
回复
五行九列。


int **c = (int**) new int[5][9];


有这种定义方式吗?
赵4老师 2011-08-15
  • 打赏
  • 举报
回复
//在堆中开辟一个4×5的二维int数组
#include <stdio.h>
#include <malloc.h>
int **p;
int i,j;
void main() {
p=(int **)malloc(4*sizeof(int *));
if (NULL==p) return;
for (i=0;i<4;i++) {
p[i]=(int *)malloc(5*sizeof(int));
if (NULL==p[i]) return;
}
for (i=0;i<4;i++) {
for (j=0;j<5;j++) {
p[i][j]=i*5+j;
}
}
for (i=0;i<4;i++) {
for (j=0;j<5;j++) {
printf(" %2d",p[i][j]);
}
printf("\n");
}
for (i=0;i<4;i++) {
free(p[i]);
}
free(p);
}
// 0 1 2 3 4
// 5 6 7 8 9
// 10 11 12 13 14
// 15 16 17 18 19
luciferisnotsatan 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jackyjkchen 的回复:]

硬要用矩阵解释,应该是5行9列

其实楼主可以这样干,int *c = new int[45];

然后用*(c + i * j + k)的方式寻址,分配效率更高些,释放也只需要一次
[/Quote]
++

另外,下面的代码,整个数组的内存空间是连续的。而上面的,仅每行是连续的,各行之间不连续。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jackyjkchen 的回复:]

硬要用矩阵解释,应该是5行9列

其实楼主可以这样干,int *c = new int[45];

然后用*(c + i * j + k)的方式寻址,分配效率更高些,释放也只需要一次
[/Quote]
正解
HPMX705 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 jackyjkchen 的回复:]

硬要用矩阵解释,应该是5行9列

其实楼主可以这样干,int *c = new int[45];

然后用*(c + i * j + k)的方式寻址,分配效率更高些,释放也只需要一次
[/Quote]
++
jackyjkchen 2011-08-15
  • 打赏
  • 举报
回复
硬要用矩阵解释,应该是5行9列

其实楼主可以这样干,int *c = new int[45];

然后用*(c + i * j + k)的方式寻址,分配效率更高些,释放也只需要一次
hackbuteer1 2011-08-15
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 chinazhangjie 的回复:]
五行九列。


C/C++ code


int **c = (int**) new int[5][9];



有这种定义方式吗?
[/Quote]
发现还真没有这种定义的,哈

64,648

社区成员

发帖
与我相关
我的任务
社区描述
C++ 语言相关问题讨论,技术干货分享,前沿动态等
c++ 技术论坛(原bbs)
社区管理员
  • C++ 语言社区
  • encoderlee
  • paschen
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
  1. 请不要发布与C++技术无关的贴子
  2. 请不要发布与技术无关的招聘、广告的帖子
  3. 请尽可能的描述清楚你的问题,如果涉及到代码请尽可能的格式化一下

试试用AI创作助手写篇文章吧