//指针的运算仅对 PChar 类型
procedure TForm1.Button1Click(Sender: TObject);
var
p: PChar;
begin
p := 'China';
Inc(p);
p := p + 1;
ShowMessage(p); //返回:ina
Dec(p);
p := p - 1;
ShowMessage(p); //返回:China
end;
PChar是一个指针, 它的大小只有32位. 定义时由Delphi自动填0. 要将PChar作为字符串
使用的话必须自己分配内存用完必须自己释放. PChar型字符串由#0表示字符串结尾
Delphi所提供的相关PChar字符串的操作都是判断#0来决定字符串的结尾的。
因为PChar是指针,所以它能指向任何地方(也就是说它不一定非要指向字符串不可).
把一个String赋值给PChar只是将String中保存具体字符串的内存的地址给PChar
变量. 当然也可以把Char数组第一个元素的地址给PChar.
pchar不是函数,而是数据类型。pchar是个指针类型,指向#0结尾的字符串,比如你看到如下代码:
var s:String;
begin
xxx(pchar(s));//把s强制转换为pchar(string本身也是指针)
//..
end;