如何使用多维数组?

leexiao 2002-08-11 03:21:32
采用动态内存分配法。
一维数组可以用形如 double *a=new double[5]的形式,
但在二维数组中应该怎么办?
...全文
37 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
leexiao 2002-08-15
  • 打赏
  • 举报
回复
好的,看到了一会儿就试。
hhushy 2002-08-12
  • 打赏
  • 举报
回复
看看new的帮助不就结了。
leexiao 2002-08-12
  • 打赏
  • 举报
回复
#include <vcl.h>
#pragma hdrstop

#include "Unit1.h"
//---------------------------------------------------------------------------
#pragma package(smart_init)
#pragma resource "*.dfm"
TForm1 *Form1;
void fun(double t[])
{ double m;
m=2*t[0];

}
//---------------------------------------------------------------------------
__fastcall TForm1::TForm1(TComponent* Owner)
: TForm(Owner)
{
}
//---------------------------------------------------------------------------

void __fastcall TForm1::Button1Click(TObject *Sender)
{ // double a[3][5],b;
//double *p;
//p=a;
double **a;
int i;
for (i=0;i<3;i++)
a[i]=new double[5];
for (i=0;i<3;i++)
{
fun(
a[i]);
}

for (i=0;i<3;i++)
delete []a[i];
编译通过,但执行时说a[i]=new double[5];有问题。
leexiao 2002-08-12
  • 打赏
  • 举报
回复
需要这么复杂吗?
ThinkX 2002-08-12
  • 打赏
  • 举报
回复
实在不行,用宏模拟一个吧
leexiao 2002-08-12
  • 打赏
  • 举报
回复
不好用啊。
mxp 2002-08-11
  • 打赏
  • 举报
回复
上面是因为不是指针,都分配完空间了
还用什么new啊
mxp 2002-08-11
  • 打赏
  • 举报
回复
//上面写错了
double **a;
int i;
for (i=0;i<5;i++)
a[i]=new double[5];
//.......
for (i=0;i<5;i++)
delete []a[i];
leexiao 2002-08-11
  • 打赏
  • 举报
回复
我需要用指针传递函数,这样可以吗?
blre 2002-08-11
  • 打赏
  • 举报
回复
你也可以使用 STL 的东西,
简单得多
我不太懂
blre 2002-08-11
  • 打赏
  • 举报
回复
double a[5][5];
a[i]=new double[5];这是不能赋值的, a[i]就是地址,不是变量

应当把  a 定义成指针数组,即每个元素都是整形指针的数组
mxp 2002-08-11
  • 打赏
  • 举报
回复
double a[5][5];
int i;
for (i=0;i<5;i++)
a[i]=new double[5];

13,825

社区成员

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

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