CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
山寨机中的战斗机! 程序优化工程师到底对IT界有没有贡献
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

动态数组和静态数组的一点疑问

楼主melice(melice)2002-04-09 18:58:54 在 Delphi / VCL组件开发及应用 提问

var  
      a:array   of   byte;  
      b:array[1..max]   of   byte;  
  ...  
      initialize;    
      setlength(a,max);    
      赋值[1,2,3,4,5。。]  
       
  我想知道的是,a/b在内存中的具体位置排列是怎么样的      
  例如b在内存中应该是连续的长度为max   bytes的,每个单元的大小是byte.  
  b是指向这段内存的开始。  
  而a呢?  
  问题点数:100、回复次数:13Top

1 楼Fuxiao(X老师)回复于 2002-04-09 19:05:59 得分 10

我认为a像一个没有初始化的指针一样,等调用setlength时,再分配空间。  
  有点道理吗?  
  个人观点。Top

2 楼qiubolecn(来自差生市)回复于 2002-04-09 19:10:44 得分 10

A也是相同的道理,一般情况下,是分配连续的地址空间  
   
  op中数组名与c中数组名使用不一样;Top

3 楼suvi()回复于 2002-04-09 19:22:41 得分 10

a在没有调用setlength前是一个没有意义的指针地址,不能用的,会出错的。  
  setlength后,op会给他在栈里找一个空间,连续的max值,这是就和一个静态的b很象了。Top

4 楼cooling(cooling)回复于 2002-04-09 19:28:31 得分 10

那我为动态数组分配了空间后,经过一些操作后,又改变了动态数组的长度,这时候怎样呢?Top

5 楼zsr(老牛)回复于 2002-04-09 19:31:57 得分 10

重新分配空间并拷贝值.Top

6 楼amiao(新湖居士)回复于 2002-04-09 19:34:49 得分 0

:)Top

7 楼csdnhuang(巫师诗人)回复于 2002-04-09 19:56:06 得分 0

setlength()  
  好象不太安全Top

8 楼melice(melice)回复于 2002-04-10 01:43:53 得分 0

昏昏··这样说吧,我在使用copymemory函数的时候,发现对动态数组和静态数组得出来的东西是不一样的···Top

9 楼johnmack(爱若琴弦)回复于 2002-04-10 09:03:31 得分 0

A   在没有分配空间前不能用Top

10 楼suvi()回复于 2002-04-10 09:27:51 得分 20

静态数组的copymemory(a)可以得到内容,动态数组就不可以了,但是可以用copymemory(b^),时刻记住b是一个指针而已Top

11 楼melice(melice)回复于 2002-04-12 01:58:56 得分 0

to   suvi,   动态数组我们在setlength后,她的长度数值是存放在哪里的呢?说起来,就算是静态数组,她的长度又是存放在哪里的呢?Top

12 楼outer2000(天外流星)回复于 2002-04-12 07:55:33 得分 10

setlength告诉操作系统,我需要这么大的空间,你给我吧?  
  操作系统说:好的,我给你开了房间。。。Top

13 楼Cipherliu(孤鹰)回复于 2002-04-12 10:12:01 得分 20

静态数组的内存地址是连续的,动态数组未必。  
  当多次用setlength为动态数组分配空间时,其中各元素的地址一般都不连续。Top

相关问题

  • 如何将静态数组转换到动态数组?
  • 如果得知VB中数组(静态或动态)的维数
  • c/c++中,数组都是静态的?什么叫静态和动态?
  • c/c++中,数组都是静态的?什么叫静态和动态?
  • 动态数组??????
  • 动态数组
  • 动态数组
  • 如何生成静态控件数组,动态生成的数组如何使用其事件?
  • 菜鸟问个问题,关于动态分配数组和静态分配数组的区别.
  • 数组的疑问

关键词

  • 内存
  • 指针
  • 数组
  • 静态
  • setlength
  • 动态
  • 长度
  • 连续
  • copymemory
  • 空间

得分解答快速导航

  • 帖主:melice
  • Fuxiao
  • qiubolecn
  • suvi
  • cooling
  • zsr
  • suvi
  • outer2000
  • Cipherliu

相关链接

  • Delphi类图书
  • Delphi类源码下载
  • Delphi控件下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
北京创新乐知广告有限公司 版权所有, 京 ICP 证 070598 号
世纪乐知(北京)网络技术有限公司 提供技术支持
Copyright © 2000-2008, CSDN.NET, All Rights Reserved
GongshangLogo