PCHAR类型的问题 (50分)

  • 主题发起人 主题发起人 天真
  • 开始时间 开始时间

天真

Unregistered / Unconfirmed
GUEST, unregistred user!
var a : ^pchar;
s:string;
begin
longint(a) :=longInt(PChar('fasdfas'));

s :=string(a^);
为什么会出错?
 
//代码如下:
var
a : ^pchar;
s:string;
begin
new(a);
a^:=PChar('fasdfas');
s :=string(a^);
showmessage (s);
end;
//若结果正确,请给分,否则下次就不好说话了,相信你不会赖帐!祝你好运!
 
谢谢兄弟!!!:)
 
procedure TForm1.Button1Click(Sender: TObject);
var a : ^pchar;
s:string;
begin
a:=AllocMem(length('fasdfas'));
longint(a^) :=longInt(PChar('fasdfas'));
s :=string(a^);
ShowMessage(s);
end;

不过我怎么也想不出有任何理由需要用到PChar类型的指针,要知道PChar本身就是指针!
 
不知道你想实现什么,不过这段代码可以这么来解释:
a你定义为指向指针的指针,赋值时你取字符串'fasdfas'的地址。
a^的值是指针类型的整数,你把这个整数又强制转换为string,不知道什么用意。
 
后退
顶部