关于PChar(@string)的疑惑

Posted coder-mifir

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于PChar(@string)的疑惑相关的知识,希望对你有一定的参考价值。

看到一篇博客关于讲Delphi中MOVE的例子,心生疑惑。记录下自己的实验,虽然我也不知道这是啥。。。

 

 

 

program Project1;

{$APPTYPE CONSOLE}

uses
  SysUtils;

var
  sCode: string = ABC;
  p_code:PChar;
begin
   Writeln(Cardinal(@sCode),#13);    //输出变量sCode地址
   Writeln(Cardinal(PChar(@sCode)),#13);            //将变量sCode的地址转成PChar型的指针后输出
   p_code:=PChar(sCode);       //将变量sCode转成以#0结尾的字符数组指针
   Writeln(Cardinal(@(p_code)),#13);      //输出‘ABC‘实际数据地址

   Writeln(Cardinal(@(p_code[0])),#13);  //输出sCode中‘A‘的地址
   Writeln(Cardinal(@(p_code[1])),#13);  //输出sCode中‘B‘的地址

   Writeln(PChar(@(p_code[0]))^,#13);  //输出sCode中‘A‘
   Writeln(p_code[1],#13);  //输出sCode中‘B‘
   Writeln(p_code,#13);  //输出sCode
  Readln;
end.

 

以上是关于关于PChar(@string)的疑惑的主要内容,如果未能解决你的问题,请参考以下文章