var
c :string;
d :pchar;
e :^char;
f :pchar;
i:integer;
begin
setlength(c,100);
for i:= 1 to 50 do
c[i] := 'a';
f := @c;
e := @c[1];
d := @c[1];
showmessage(f + ' ' + e^ +' '+ ' '+ d + ' '+ d^);
showmessage(c);
end;显示的结果:8! a aaaaaaaaaaaaaaaaaaaaa...aaE a
aaaaaaaaaaaaaa....E
请教一下pchar 和^char 的区别,为什么显示的是这样的结果?
c :string;
d :pchar;
e :^char;
f :pchar;
i:integer;
begin
setlength(c,100);
for i:= 1 to 50 do
c[i] := 'a';
f := @c;
e := @c[1];
d := @c[1];
showmessage(f + ' ' + e^ +' '+ ' '+ d + ' '+ d^);
showmessage(c);
end;显示的结果:8! a aaaaaaaaaaaaaaaaaaaaa...aaE a
aaaaaaaaaaaaaa....E
请教一下pchar 和^char 的区别,为什么显示的是这样的结果?
解决方案 »
- delphi xe2 服务
- Delphi中对word的控制:OleContainer中取得Word的句柄
- access中如何实现字段的默认值是一个常数+一个按规则增大的数?
- TSteam生成excel文件格式问题
- 如何对数据库的某个字段进行批量修改????????????????????????
- dbexpress的问题,急!!!
- 集中生智,参与有分 30分
- 因项目需要,需修改一个DELPHI3的程序,请大家帮忙,哪里可以下载DELPHI3
- debugger exception notification不知道怎么解决
- 在delphi的package(包)怎么获取主程序的参数?
- DBGrid的問題
- Active Form 紧急问题
e.g.
type
PSingleChar = ^char;
PSingleChar:指向单个char的指针;感觉没什么用处,容量太少(容量还没自己大,一个指针都是4个char了。)
showmessage(f + ' ' + e^ +' '+ ' '+ d + ' '+ d^);
这句中f是个地址,当然显示出来是个你不知道的符号 f^是这个地址的值,但f := @c;并不是c的第一个字母,而应是f := @c[1]...也不知道pchar 和 ^char到底是不是一样的,我认为是的喔,看看了
f := @c[1];都可达到你想要的结果
e为char类型的指针,E^取的是首位。
d也为pchar类型,但这次给的是正确的起始位置,所以得到的内容是50个a
d^取的也是首位。从测试情况来看,pchar和^Char作用一样的。
用^char怎么显示字符串c的值
showmessage(e)好像不行
而d,f的本质是字符
而d,f的本质是字符串
PChar可以指向字符串,也可指向字符;
^Char只能指向单个字符