请问sizeof(integer)是什么意思?(100分)

  • 主题发起人 主题发起人 小羽
  • 开始时间 开始时间

小羽

Unregistered / Unconfirmed
GUEST, unregistred user!
stufile:=TfileStream.Create(openDialog1.FileName,fmOpenRead);
try
stuFile.Read(k,sizeof(integer));
stringGrid1.RowCount:=k;
......
这里,sizeof(x):integer,x不是应该是变量吗?为什么会用integer呢?
请高手指点?
 
就是返回integer這個類型的長度
 
见如下例!
type

CustRec = record
Name: string[30];
Phone: string[14];
end;
var
P: ^CustRec;
begin
GetMem(P, SizeOf(CustRec));
Canvas.TextOut(10, 10, 'The size of the record is ' + IntToStr(SizeOf(CustRec)));
FreeMem (P, SizeOf(CustRec));
end;
这里不是变量而是类型!!!
 
返回類型的長度
 
就是长度啊
 
虽然CodeInsight说要VAR,但是类型和变量好都可以。
 
多人接受答案了。
 
感谢大家关注此题,经本人试验,现已基本搞清在 Delphi 中用 Form 显示结果如下;
sizeof(integer)=4
sizeof(real)=8
sizeof(double)=8
sizeof(int64)=8
sizeof(ansistring)=4 string也是一样
sizeof(widestring)=4
sizeof(shortstring)=256
可见数字类型用其范围来表示,ansistring范围是 4字节到2GB,widestring比ansistring小
范围都差不多,shortstring范围由2byte到256byte,却用最大的来表示。
 
后退
顶部