本来对指针了解的就不深,突然发现
问题1
p1: pchar;
P1^是什么? 别的指针^是取内容。pchar用Getmem分空间后直接就可以操作了,加^干吗?
问题2
s:string;
F:TFilestrea;
f.read(pointer(s)^,20*sizeod(s));
pointer(s)^, 转化成指针然后取值。 s 不就是值吗? 为什么要多此一举? 希望大家帮助。
问题1
p1: pchar;
P1^是什么? 别的指针^是取内容。pchar用Getmem分空间后直接就可以操作了,加^干吗?
问题2
s:string;
F:TFilestrea;
f.read(pointer(s)^,20*sizeod(s));
pointer(s)^, 转化成指针然后取值。 s 不就是值吗? 为什么要多此一举? 希望大家帮助。
var
i :^integer;
begin
i^ := 123; //这样是良好的编程习惯
i := 123; //也没有什么问题,但是习惯不好
end;