另一种二维数组分配方法,共只分配两次

cxjddd 2003-07-05 07:52:34
我的想法是把一个二维数组的大小一次分配出来,然后再分割。
分配m*n的int数组:
int** a = new (int*)[m]; //分配指针
int* aa_ = new int[m*n]; //分配空间
for (int i=0; i<m; i++) //分割空间到指针中
a[i] = aa_ + i*n;

for (int i=0; i<m; i++) //使用
for (int j=0; j<n; j++)
a[i][j] = 0;
...全文
31 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
mahammad 2003-08-17
  • 打赏
  • 举报
回复
int** a=new int* [m];
for(int i=0;i<m;i++) a[i]=new int [n];
for(int i=0;i<m;i++)
for(int j=0;j<n;j++)
a[i][j]=0;
用双重指针
nmgpy 2003-08-17
  • 打赏
  • 举报
回复
厉害,效率应该很高的。佩服
cxjddd 2003-08-17
  • 打赏
  • 举报
回复
这样当没有内存时要好处理一点,只分配了两次。
lbaby 2003-07-05
  • 打赏
  • 举报
回复
可以的
MaiCle 2003-07-05
  • 打赏
  • 举报
回复
呵,然后呢?你怎么处置那些指针呢?
chukement 2003-07-05
  • 打赏
  • 举报
回复
看不懂。是什么意思啊?
friefnd006 2003-07-05
  • 打赏
  • 举报
回复
厉害,用** a

69,369

社区成员

发帖
与我相关
我的任务
社区描述
C语言相关问题讨论
社区管理员
  • C语言
  • 花神庙码农
  • 架构师李肯
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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