如何动态分配二维数组

edmond_xia 2001-07-19 04:35:53
能够根据给定的大小,动态分配二位数组

而且分配后能够按照二维数组的格式引用
如:a[i][j]

...全文
152 14 打赏 收藏 转发到动态 举报
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
pms 2001-07-22
  • 打赏
  • 举报
回复
又没声音了!以后懒得回答问题了。
pms 2001-07-20
  • 打赏
  • 举报
回复
下面是我一个程序中定义的两个动态分配和释放内存的函数,希望对你有帮助。
//---------------------------------------------------------------------------
//申请内存
int __fastcall TForm1::AllocateMem(char **&charname,int m,int n)
{
try
{
charname=new char *[m];
for(int i=0;i<m;i++)
charname[i]=new char[n];
}
catch(std::bad_alloc)
{
Application->MessageBox("分配内存失败!","出错信息",MB_OK);
return(-1);
}
return(0);
}
//---------------------------------------------------------------------------
//释放内存
void __fastcall TForm1::DeAllocateMem(char **&charname,int m)
{
for(int i=0;i<m;i++)
delete [] charname[i];
delete [] charname;
}
//---------------------------------------------------------------------------
xycleo 2001-07-19
  • 打赏
  • 举报
回复
看看数据结构!!!!!

上面说的很清楚!!!!


就是a=new int*[i];
for(int k=0;k<i;k++)
*a=new int[j]



try it...
yphy 2001-07-19
  • 打赏
  • 举报
回复
BCB中有现成的动态数组模板 DynamicArray<type> variable,为何不用呢?

yphy
我不懂电脑 2001-07-19
  • 打赏
  • 举报
回复
你把二维数组转换为一维的操作,一维数组可以动态分配。
dsli 2001-07-19
  • 打赏
  • 举报
回复
原来如此
Chxis 2001-07-19
  • 打赏
  • 举报
回复
ylm163net(文秀) 
说到数据结构上了,
按列行优先吧, 哈哈
ylm163net 2001-07-19
  • 打赏
  • 举报
回复
他的问题是说,创建数组 a[i][j],i,j在运行时刻才能决定,
这样的动态数组没法创建,你可以创建一个一维数组,a[i*j],
然后用一个类进行封装,可以达到同样目的
Chxis 2001-07-19
  • 打赏
  • 举报
回复
o,i wrong a little
yueyue 2001-07-19
  • 打赏
  • 举报
回复
int **a;
a=new int*[i];
for(int k=0;k<i;k++)
a[k]=new int[j]
Chxis 2001-07-19
  • 打赏
  • 举报
回复
int **a;
a=new int*[i];
for(int k=0;k<i;k++)
*a=new int[j]



try it...
luhongjun 2001-07-19
  • 打赏
  • 举报
回复
什么意思?
kimryo 2001-07-19
  • 打赏
  • 举报
回复
试试int **array=new int*[10];
wjzhuang 2001-07-19
  • 打赏
  • 举报
回复
具体一些吧,不太懂你的意思
你根据你的初始化函数或者类(接收数组大小的参数)
来new 不就可以吗?

13,825

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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