H
hotboy
Unregistered / Unconfirmed
GUEST, unregistred user!
请看代码:
procedure TForm1.Button1Click(Sender: TObject);
var s:AnsiString;
Ptr,Ptr1char;
begin
s:='new';
Ptr:=@s[1];
Memo1.Lines.Add(Ptr);//问题一
Ptr1:=@S;
Memo1.Lines.Add(Inttostr(Integer(Ptr1)));
Memo1.Lines.Add(Inttostr(Integer(Ptr)));//问题二
end;
我的问题1是,既然Ptr是指针型变量,Memo1.Lines.Add(Ptr);为什么没有错误?按照道理Memo1.Lines.Add()的括号里应该是字符串才匹配。
问题2,@s是什么?为什么与@s[1]相差很大?
procedure TForm1.Button1Click(Sender: TObject);
var s:AnsiString;
Ptr,Ptr1char;
begin
s:='new';
Ptr:=@s[1];
Memo1.Lines.Add(Ptr);//问题一
Ptr1:=@S;
Memo1.Lines.Add(Inttostr(Integer(Ptr1)));
Memo1.Lines.Add(Inttostr(Integer(Ptr)));//问题二
end;
我的问题1是,既然Ptr是指针型变量,Memo1.Lines.Add(Ptr);为什么没有错误?按照道理Memo1.Lines.Add()的括号里应该是字符串才匹配。
问题2,@s是什么?为什么与@s[1]相差很大?