16,743
社区成员
发帖
与我相关
我的任务
分享
)我先百度下。
//monsterarr:= pint(pint(getmonsterlist)^+$8);getmonsterlist本来就是PINT,你再转PINT干什么
monsterarr:= pint(getmonsterlist^+$8);
for I := 0 to count - 1 do
begin
obj := monsterarr^;
if obj > 0 then
begin
end;
Inc(monsterarr); // 指针递增1,增加4个字节,指向下一个 integer
end;

现在的问题是怎么遍历数组,要怎么写?我看C语言就是定义个int型指针指向了一个int型数组就可以遍历了。如 int *p;int j; int a[5]; P=a; j=p[1]这里就取出了数组a[1]中的值。
pint(pint(getmonsterlist)^+8);//这个是不是加上了8个sizeof(integer)的长度;
pint(getmonsterlist+8);//这样是不是只加上了8个字节的长度;
前面这2个我就是打个比喻。昨天临睡的时候想通了,第一个是加上了8个int型。下面那个是指针加上了8个字节不知取到了哪个地址,不是里面的地址。还有我出现混用PINT和Pinteger出现提示类型不兼容的,这里这问题可以避开。