如何把指针地址加1

icewind4096 2004-11-09 11:33:54
A: Pinteger;

a:= a+1 为何不可以,请叫,谢谢
...全文
410 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
武稀松 2004-11-11
  • 打赏
  • 举报
回复
p := pointer( integer(p) + 1 );
不行的,他没有根据P的类型长度来加,应该是
p := pointer( integer(p) + 1*SizeOf(Integer));
firetoucher 2004-11-09
  • 打赏
  • 举报
回复
nod sunhuiNO1(2B)
ICMGDCHN 2004-11-09
  • 打赏
  • 举报
回复
^@*&
sunhuiNO1 2004-11-09
  • 打赏
  • 举报
回复
A:PInteger;
如果是地址加1,应该先换成PChar再用inc,否则inc是地址加4
hottey 2004-11-09
  • 打赏
  • 举报
回复
^_^
zzlazio 2004-11-09
  • 打赏
  • 举报
回复
:)
jinjazz 2004-11-09
  • 打赏
  • 举报
回复
inc(A)
micher_yan 2004-11-09
  • 打赏
  • 举报
回复
delphi中指针不能直接参与运算,象楼上的用integer(p)转换就可以了, 运算完了再转回指针
ohayou 2004-11-09
  • 打赏
  • 举报
回复
inc(p)是根据指针指向的数据类型的大小来运算的 相当于C的p++
如果要强制按字计算可以这样写 p := pointer( integer(p) + 1 );

16,749

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 语言基础/算法/系统设计
社区管理员
  • 语言基础/算法/系统设计社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧