关于pascal中指针的一个问题,难呀(100分)

  • 主题发起人 主题发起人 vericky
  • 开始时间 开始时间
V

vericky

Unregistered / Unconfirmed
GUEST, unregistred user!
我想把一个整型的变量的值付给一个指针型变量,即这个指针型变量指向整型变量的值

所代表的地址,pascal跟c的语法不太一样,我该这么赋值才好?
 
Var I:Integer;
P:^Integer;
begin
I:=12356;
P:=@I;
P^:=P^+1;
end;
 
他是对的

我也这样用
 
c:int* a
pascal: var a:^integer;
c:*a=123
pascal: a^:=123;

c:int b
pascal:var b:integer;
c: &b(取地址) pascal: @b(取地址)
 
function IntToPointer(Value: Integer): Pointer;
begin
Result := Pointer(Value);
end;

procedure TForm1.Button1Click(Sender: TObject);
begin
if IntToPointer(0) = nil then showmessage('转换成功');
end;
 
敏哥是对的。
 
@是取地址操作
 
毓哥是正确的,只要用一个类型转换就可以了。
用Pointer把整型的转换成指针型的,事先一定先定义好一个接受该地址的指针变量,

var
a1 : integer
pa : ^integer;
begin
pa:=Pointer(a1);
end;
 
语法问题本是孤家之长,上面都说清楚了,我说什么呢,结束了吧。
 
多人接受答案了。
 
后退
顶部