delphi中怎么定义一个指向动态数组的指针。。

我在c++里看到的比如这个pop,上面定义的是double型的指针,下面pop=newdouble[M*D];这个在delphi中该怎么写... 我在c++里看到的

比如这个pop,上面定义的是double型的指针,下面pop = new double [M*D];这个在delphi中该怎么写
展开
 我来答
守意如城
推荐于2018-03-28 · TA获得超过107个赞
知道小有建树答主
回答量:134
采纳率:50%
帮助的人:21.5万
展开全部
动态数组变量本身,实际上就是一个指针了,不需要再专门去定义一个指向动态数组的指针。

比如:
A, B: array of Integer;
begin

SetLength(A, 1);
A[0] := 1;
B := A;

end;

动态数组变量B,它指向动态数组A的内容,即B[0] =A[0] = 1;修改B[0],A[0]的值也变了。
sirouszlh
推荐于2016-10-06 · TA获得超过1651个赞
知道小有建树答主
回答量:1038
采纳率:100%
帮助的人:643万
展开全部
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和arr能写成同一个名字么?
也就是p:pointer;p:array of array of double;
追答
刚才看错了 M*D只是分配内存 我看错成二维数组了
P是一个指针
array of array of double 是个二维数组

虽然不同类型
但实际上 P可以直接赋值 例如
setlength(arr,18);
P:=arr;

因为动态数组 arr是一个指针,是数组首地址。
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式