CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
花落谁家,你作主! 盛大widget设计大赛英雄榜
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  Delphi >  VCL组件开发及应用

数组赋值问题

楼主whether(是否?!)2001-12-31 10:17:42 在 Delphi / VCL组件开发及应用 提问

定义一个integer数组,怎么能一次赋值,就像c中  
  数组={1,2,3,4,5}  
  当然数组元素有很多,256个,且无规律  
  给分20 问题点数:20、回复次数:12Top

1 楼Crob(Take Everything Easy!)回复于 2001-12-31 10:20:20 得分 0

因为数组是连续分配内存的  
  所以可以直接将数组首地址指向数据区域,数据的长度与数组中元素要一至Top

2 楼qiubolecn(来自差生市)回复于 2001-12-31 10:30:52 得分 0

to   Crob(我干嘛这么帅)   
   
  那你那一段‘数据区域’,又是怎样赋的值呢????Top

3 楼whether(是否?!)回复于 2001-12-31 10:31:19 得分 0

具体怎么指定?  
  Top

4 楼tongki_8(矛盾与迟钝)回复于 2001-12-31 10:31:32 得分 0

avr  
        i:integer;  
   
  while   i<256   do      
        begin  
            数组[i]:=0;  
            i:=i+1;  
        end;Top

5 楼007pro(水样天波)回复于 2001-12-31 10:32:30 得分 0

可以这样吗?  
  arr:=['','','',''];  
  没试过,仅供参考   Top

6 楼Linux2001(闭关开发中)回复于 2001-12-31 10:33:50 得分 0

不知道你在说什么  
  如果是赋值那就是: tongki_8() 那样的Top

7 楼whether(是否?!)回复于 2001-12-31 10:33:54 得分 0

说过了,数组元素是无规律的,怎么能都赋0呢Top

8 楼qiubolecn(来自差生市)回复于 2001-12-31 10:35:55 得分 0

老实一点,一个一个赋值,任何取巧办法都是没用的:(Top

9 楼whether(是否?!)回复于 2001-12-31 10:38:47 得分 0

我自己知道一种赋值方法,定义动态数组,然后用VarArrayOf函数赋值  
  但是256个数组元素不知道是不是太多,反正出问题  
  =================  
      auchCRCHi:=VarArrayOf([$0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,  
                              $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,  
                              $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,  
                              $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,  
                              $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,  
                              $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40,   $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,  
                              $0,   $C1,   $81,   $40,   $1,   $C0,   $80,   $41,   $1,   $C0,   $80,   $41,   $0,   $C1,   $81,   $40]);  
  Top

10 楼Crob(Take Everything Easy!)回复于 2001-12-31 10:50:58 得分 0

要直接赋值还不如直接用内存操作,如下  
   
  procedure   TForm1.Button1Click(Sender:   TObject);  
  var   p:   pointer;  
          charValue:   char;  
  begin  
      p   :=   AllocMem(10);  
      move('0123456789',   p^,   10);  
      charValue   :=   char(p^);//charValue取到值'0';  
      p   :=   pointer(DWORD(p)   +   1);  
      charValue   :=   char(p^);//charValue取到值'1';  
       
      FreeMem(p,   10);  
  end;  
   
  要用数组还是做个循环来赋值吧Top

11 楼pdsinfo(新手)回复于 2001-12-31 14:27:08 得分 20

就是定义时赋值了.  
  其实Delphi中   var     myArray:array[0..5]of   integer=(1,2,3,4,5,6);  
  和C中的     int   myArray[6]={1,2,3,4,5,6}是一样的...Top

12 楼qiubolecn(来自差生市)回复于 2002-01-10 22:36:01 得分 0

只有全局变量才可以定义时赋值Top

相关问题

  • 数组赋值
  • 数组赋值!
  • 急!!!数组赋值
  • 为数组赋值出错!
  • 怎样对数组赋值???
  • 关于数组赋值
  • 二维数组赋值
  • 数组赋值问题
  • 实型数组的赋值
  • 数组赋值问题

关键词

  • 数据
  • 区域
  • 数组
  • 赋值
  • 元素
  • 数据区域
  • integer

得分解答快速导航

  • 帖主:whether
  • pdsinfo

相关链接

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

广告也精彩

反馈

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