记录指针的引用(10分)

  • 主题发起人 主题发起人 yjlucky
  • 开始时间 开始时间
Y

yjlucky

Unregistered / Unconfirmed
GUEST, unregistred user!
unit Unit1;

interface

uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs;

type
TMyRecord = record
index: integer;
buf: string;
end;
TForm1 = class(TForm)
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;

var
Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.FormCreate(Sender: TObject);
var
myrecord: ^TMyRecord;
begin
new(myrecord);
myrecord.index := 888;
showMessage(IntToStr(myRecord.index));
new(myrecord);
myrecord^.index := 888;
showMessage(IntToStr(myRecord.index));
end;

end.


为什么myrecord.index 和myrecord^.index 一样,两者没有区别吗?一般程序里面该如何调用?
 
你写个程序测试以下 myrecord 和 myrecord^的地址是不是一样。

new(myrecord);
myrecord.index := 888;
showMessage(IntToStr(myRecord.index));
//new(myrecord)
//注释掉
//myrecord^.index := 888;
showMessage(IntToStr(myRecord.index));
 
看不懂你写的东东
 
确实是一样的,delphi编译器会把myRecord.index翻译成myRecord^.index
 
接受答案了.
 

Similar threads

S
回复
0
查看
842
SUNSTONE的Delphi笔记
S
I
回复
0
查看
724
import
I
I
回复
0
查看
775
import
I
I
回复
0
查看
551
import
I
后退
顶部