首页
社区
课程
招聘
[求助]delphi 中string字符串的疑问
发表于: 2011-9-26 11:19 4879

[求助]delphi 中string字符串的疑问

2011-9-26 11:19
4879
一直搞不明白.
我们知道String其实是一个指针,比如@String得到的并不是它指向字符串的首地址,而是String指针本身的内存地址.

那么
var
p:^string;
s:string;

s:='pediy';
p:=@s;          //p=指针s的地址?或者说p是指针的指针?
showmessage(P^);

为什么P^就能取到字串的内容呢?而不需要P^^呢?





[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!

收藏
免费 0
支持
分享
最新回复 (6)
雪    币: 270
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
字符串的内容不还是要放在地址中?有啥疑问?
showmessage的参数,以delphi来看,是个string,但以汇编来描述,不也就是个地址?存放字符串的地址。

showmessage(P^) 不就是 showmessage(s) ? s都可以,P^不也可以。
2011-9-27 00:13
0
雪    币: 41
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
高深的问题,不是很懂~
2011-9-27 00:19
0
雪    币: 0
活跃值: (954)
能力值: ( LV3,RANK:30 )
在线值:
发帖
回帖
粉丝
4
上OD什么都清楚了。
OD看p 是指针还是内容,不就一目了然了?
pascal 的指针还是比C 容易理解多了。
2011-9-27 11:00
0
雪    币: 952
活跃值: (1821)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
String 是个类 得到的是类地址
2011-9-27 11:50
0
雪    币: 768
活跃值: (530)
能力值: ( LV13,RANK:460 )
在线值:
发帖
回帖
粉丝
6
基本思想,Delphi中 类的 赋值都是传引用的。
2011-9-29 10:41
0
雪    币: 334
活跃值: (70)
能力值: ( LV6,RANK:80 )
在线值:
发帖
回帖
粉丝
7
p:=@s;                       //p=指针s的地址
showmessage(P^);   //p^是从指针s中取出值
2011-9-30 11:25
0
游客
登录 | 注册 方可回帖
返回
//