首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

既可以是RECORD 又同时是ARRAY解决思路

2012-02-29 
既可以是RECORD 又同时是ARRAY工作中遇到问题,一个指针指向一个RECORD,但是从业务上看是一个List,我很疑惑

既可以是RECORD 又同时是ARRAY
工作中遇到问题,一个指针指向一个RECORD,但是从业务上看是一个List,我很疑惑,难道可以同时是RECORD又是ARRAY嘛?
在线等,,我是初学者。。刚接触DELPHI

[解决办法]

Delphi(Pascal) code
var  p: PPoint;  i: Integer;  buf: array[0..255] of Char;type  ArrPoint = array of TPoint; {用于转换的自定义类型}begin  p := GetMemory(4 * SizeOf(TPoint));  for i := 0 to 3 do  begin    ArrPoint(p)[i].X := i;    ArrPoint(p)[i].Y := i * i;  end;  wvsprintf(buf, '%d,%d; %d,%d; %d,%d; %d,%d', PChar(p));  ShowMessage(buf); {0,0; 1,1; 2,4; 3,9}  FreeMemory(p);end;
[解决办法]
实际上就是数组的类型是指针,而这个指针指向Record罢了。很常用!也很实用!呵呵!
就像楼上所写的一样!
 //结构体
 MyData = Record
MyID:string;
MyName:string;
 end;
 PData = ^MyData; //指向结构体的指针PData

 //定义数组
 ary : array of PData;
 //分配大小
 SetLength(ary,2);
 //赋值
 ary[0].MyID := 1;
 ary[0].MyName := 'fda';
 ary[1].MyID := 2;
 ary[1].MyName := 'fdaf';
[解决办法]
指针只是指向一个内存地址.

指向的内容你说他是整数 他就是整数 你说他是字符串就是字符串

对于内存来说都是0101010101 没有什么区别.

热点排行