pchar string

procedure TForm3.Button1Click(Sender: TObject);

  var

  s:char;

  a:pchar;

  //a:string;

  begin

  s:='a'; //这里是一个字符 CHAR,如s:='12'   ;    s:='ab'   ; 就错误

   a:='1234';

  showmessage(a[2]); //从0开始,这里的s1[0]=1,s1[1]=2,以此类推。此处输出结果为3

  end;

----------------------------------------------------------

procedure TForm3.Button1Click(Sender: TObject);

  var

  s:char;

//  a:pchar;

  a:string;

  begin

  s:='a'; //这里是一个字符 CHAR,如s:='12'   ;    s:='ab'   ; 就错误

   a:='1234';

  showmessage(a[2]); //     当 a:string;时,此处输出结果为2  ,  string  ,pchar  差别还是很大呀

  end;

_______________________________

https://www.cnblogs.com/pboy/p/5310765.html


Char是单个字符;

PChar就是指向一个以Null 结尾的每个字符为一个字节的字符串的指针。 (可以看成是一个字符串)

String是字符数组,以字符#0结尾;

Char只占一字节的空间,而Pchar保存的是一个指针,在现在32位的系统中占有1个指针字节的大小。

type PChar=^Char;

 PChar类型是一个指向Char的指针,并使用Delphi的扩展语法.它也能够作为一个String或者是一个Char数组指针来对待。

Pchar的用途

1.PChar最经常的使用方式就是作为用C或C++编写的DLL,如Windows API的一个参数类型.

2.可以把一个PChar作为一个Char数组指针来对待.数组下标是Integer的子区间,从零开始. Delphi不对该数组提供任何边界检查.通常字符串的结束用#0字符来表示.

数组就是从0开始计数的,,字符串是从1开始计数的。

你可能感兴趣的:(pchar string)