size of Record(10分)

W

wlmmlw

Unregistered / Unconfirmed
GUEST, unregistred user!
{$A+}
TData = record
pre: Int64

next: Int64;
dataType: word;
dataSize: word

freeSize: word

end;
sizeof(TData) = ?
 
看看packed的帮助
type
TData = packed record
pre: Int64;
next: Int64;
dataType: word;
dataSize: word;
freeSize: word;
end;
 
TData = packed record
pre: Int64;
next: Int64;
dataType: word;
dataSize: word;
freeSize: word;
end;

sizeof(TData) = ?
 
编译器会按四个字节对齐,补上两个字节.
TData = record
pre: Int64

next: Int64;
dataType: word;
dataSize: word

freeSize: word

unused: word;
end;
sizeof(TData) = 24
 
{$A-}
TData = record
pre: Int64

next: Int64;
dataType: word;
dataSize: word

freeSize: word

end;
{$A-}

TData1 = packed record
pre: Int64;
next: Int64;
dataType: word;
dataSize: word;
freeSize: word;
end;
好象。
sizeof(Tdata)=sizeof(Tdata1)
 
多人接受答案了。
 

Similar threads

S
回复
0
查看
622
SUNSTONE的Delphi笔记
S
S
回复
0
查看
623
SUNSTONE的Delphi笔记
S
A
回复
0
查看
555
Andreas Hausladen
A
S
回复
0
查看
1K
SUNSTONE的Delphi笔记
S
顶部