delphi中怎么定义一个指向动态数组的指针。。
我在c++里看到的比如这个pop,上面定义的是double型的指针,下面pop=newdouble[M*D];这个在delphi中该怎么写...
我在c++里看到的
比如这个pop,上面定义的是double型的指针,下面pop = new double [M*D];这个在delphi中该怎么写 展开
比如这个pop,上面定义的是double型的指针,下面pop = new double [M*D];这个在delphi中该怎么写 展开
2个回答
展开全部
var
P: Pointer;
arr:array of Double;
begin
setlength(arr,18); //设置数组长度
P:= @arr;
end;
P是指针只是为了配合你原来的写法
实际上
建裤闭议不用指雀纯枣针
var
arr:array of Double;
begin
setlength(arr,18); //设置数组长度
end;
就可顷拆以对arr进行操作了
P: Pointer;
arr:array of Double;
begin
setlength(arr,18); //设置数组长度
P:= @arr;
end;
P是指针只是为了配合你原来的写法
实际上
建裤闭议不用指雀纯枣针
var
arr:array of Double;
begin
setlength(arr,18); //设置数组长度
end;
就可顷拆以对arr进行操作了
更多追问追答
追问
这个P和arr能写成同一个名字么?
也就是p:pointer;p:array of array of double;
追答
刚才看错了 M*D只是分配内存 我看错成二维数组了
P是一个指针
array of array of double 是个二维数组
虽然不同类型
但实际上 P可以直接赋值 例如
setlength(arr,18);
P:=arr;
因为动态数组 arr是一个指针,是数组首地址。
本回答被提问者采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询