当前位置: 网学 > 编程文档 > DELPHI > 正文

Delphi 动态数组的理解

来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 13/07/31

网学网为广大网友收集整理了,Delphi 动态数组的理解,希望对大家有所帮助!

 

Delphi动态数组也是生存期自动管理的,当离开动态数组的作用域的时候,他会自动清除内存,不需要你手动清除。但是你也可以手动清除,只需要  Array := nil; 就可以了。var  A1, A2: array of string;begin  SetLength(A1, 1);  A1[0] := 'aaa';  A2 := A1;  A2[0] := 'bbb';  ShowMessage(A1[0]);end;打印出来的结果是“bbb”我的理解是  A2 := A1 这个并不是新建一个数组,只是把A1数组的引用给了A2,这样A1,A2同时指向这个内存区域,当修改A2数组的值的时候,其实就是修改A1内存的值。var  s1, s2: string;begin  s1 := 'aaa';  s2 := s1;  s2 := 'bbb';  ShowMessage(s1);end;打印出来的结果是“aaa”我的理解是  当S2 := s1 的时候,也是把S1的引用给了S2,但是下面的S2 := 'bbb',这个代码的操作是把S2这个字符串有开辟了一块内存,用于存放S2。这样你修改S2 := 'bbb'.S1的值不会发生变化。所以当S2 := S1 也是传递引用,只要不赋值就是传递引用。

网学推荐

免费论文

原创论文

浏览:
设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
湘ICP备09003080号