delphi获取申明变量的指针地址

asdf940728039 2012-03-07 09:29:11
比如我声明几个变量

var
a:integer;
b:string;
c:pointer;
begin
end;

我想获取这3个变量的指针地址,不是里面的内容,是他分配的地址。


比如我有一个函数
function aaa(a,b:integer):integer;
begin
result:=a+b;
end;


我想获取这个函数分配的内存地址,如何获取,

只是好奇,不做坏事。谢谢各位姐姐叔叔
...全文
560 19 打赏 收藏 转发到动态 举报
写回复
用AI写文章
19 条回复
切换为时间正序
请发表友善的回复…
发表回复
asdf940728039 2012-03-07
  • 打赏
  • 举报
回复
谢谢case5166 ,谢谢各位对我的帮助,delphi交流群145510108 ,现在结贴,感谢各位的帮助
我看见佛 2012-03-07
  • 打赏
  • 举报
回复
和我在1L一样用
我看见佛 2012-03-07
  • 打赏
  • 举报
回复
var
p: ^Integer;
p: ^char;

asdf940728039 2012-03-07
  • 打赏
  • 举报
回复
^type 这个怎么用呢? 能不能给个完整的,看的明白的例子
我看见佛 2012-03-07
  • 打赏
  • 举报
回复
^:
^type 表示指向这种类型的指针
point^ 返回指针指向的变量的值
两个用法
asdf940728039 2012-03-07
  • 打赏
  • 举报
回复
都可以啊,但是小弟再冒昧的问一句。^ 这个符号,可以做什么,我忘记了谢谢各位朋友
我看见佛 2012-03-07
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
p:Pinteger;
begin
a := 100;
p := @a;
ShowMessage('$' + IntToHex(Integer(P), 4));
end;


这个经测试是这个了
CS_DNisSB2B 2012-03-07
  • 打赏
  • 举报
回复
i := 100;
ShowMessage(inttostr(integer(@I)));
kaikai_kk 2012-03-07
  • 打赏
  • 举报
回复
showmessage(inttostr(integer(@a)));

用Cardinal(@a)也行
我看见佛 2012-03-07
  • 打赏
  • 举报
回复
http://topic.csdn.net/t/20060724/14/4900764.html
我看见佛 2012-03-07
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 s11ss 的回复:]
IntToHex(12345, 8)

引用 5 楼 asdf940728039 的回复:
我怎么把这个地址,显示出来,这个不会,呵呵
[/Quote]刚刚我也在试,showmessage(inttohex(integer(@p),8)),但这种应该是进行转换了,值不太一样
asdf940728039 2012-03-07
  • 打赏
  • 举报
回复
不会显示啊,显示错误,可能把类型转换错了,我晕啊,麻烦直接给我个整句的
s11ss 2012-03-07
  • 打赏
  • 举报
回复
IntToHex(12345, 8)[Quote=引用 5 楼 asdf940728039 的回复:]
我怎么把这个地址,显示出来,这个不会,呵呵
[/Quote]
我看见佛 2012-03-07
  • 打赏
  • 举报
回复
断点状态下,按住Ctrl+鼠标点击变量,则会显示,地址直接转换成字符串用SHOWMESSAGE来显示的,没见过呀呀呀
asdf940728039 2012-03-07
  • 打赏
  • 举报
回复
我怎么把这个地址,显示出来,这个不会,呵呵
kaikai_kk 2012-03-07
  • 打赏
  • 举报
回复
全局变量所占用的内存地址是固定不变的
局部变量调用时在栈上分配,地址不是固定的

在变量在前面加上@即就是取址了
funxu 2012-03-07
  • 打赏
  • 举报
回复
啊嘞,居然回复晚了
funxu 2012-03-07
  • 打赏
  • 举报
回复
point(a)^
point(b)^
point(c)^

@aaa就是函数地址
我看见佛 2012-03-07
  • 打赏
  • 举报
回复
procedure TForm1.Button1Click(Sender: TObject);
var a:integer;
p:Pinteger;
begin
a := 100;
p := @a;
end;

1,183

社区成员

发帖
与我相关
我的任务
社区描述
Delphi GAME,图形处理/多媒体
社区管理员
  • GAME,图形处理/多媒体社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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