下面是一個在delphi中使用指針的簡單例子。使用^指向值的規則是什麼?
Type
TRecord1 = Record
field1 : String;
end;
procedure TForm1.Button2Click(Sender: TObject);
var
Rec : TRecord1;
Ptr: ^TRecord1;
begin
Rec.field1:= 'field1';
Ptr := @Rec;
memo1.Lines.Add (Ptr^.field1);
memo1.Lines.Add (Ptr.field1); // it also works.
end;
在這種情況下,Ptr ^和Ptr都有效。看來delphi允許用戶在指向該值時有更大的靈活性。但是通過閱讀兩條線,它們在語法上有所不同,可能意味着不同。在這種情況下,兩個工作。但我的問題是:
- 用戶怎樣才能知道在^可以或不可以被省略 其他情況下,或在與^或不^意味着相同或不同?
- 這些情況是什麼?例子將不勝感激。
- 爲什麼? (可選)
非常感謝。
當'ptr'是一個指針類型(包括隱式指針)時,可以省略解引用。 –