关于Delphi中的指针问题(50分)

  • 主题发起人 主题发起人 Soliry
  • 开始时间 开始时间
S

Soliry

Unregistered / Unconfirmed
GUEST, unregistred user!
在C++中:
int *p;
请问p[1]在Delphi中是怎么表示。
 
procedure TForm1.Button1Click(Sender: TObject);
var
p : PInteger;
myarray: array[0..255] of Integer;
begin
p := @myarray;
inc(p,1);
showmessage(inttostr(p^))
end;
 
P:^Integer;
或者
Type
PInt = ^Int;
var
P:PInt;
 
为什么我用inc(p,1)就会提示错误。Ordinal type required 这是为什么?
 
直接
p:=@myarray[1];
就可以了
 
如果你把P定义成Pointer无类型指针,就不能Inc了。C语言也一样。无类型指针不能做加减法运算的。如果你定义成PInteger样式,Inc(P,1);不会有错。
 
后退
顶部