如何得到变量的存储空间的大小,急!!!(200分)

  • 主题发起人 主题发起人 truegary
  • 开始时间 开始时间
T

truegary

Unregistered / Unconfirmed
GUEST, unregistred user!
[:(]
在C语言中可以使用sizeof得到变量的存储空间的大小。
在delphi中也有同样的函数。
但是对于一个string类型。
比如
var
mstr:string;
mvar:varible;
t1,t2,tvar:integer;
begin
mstr := '123';
t1 := sizeof(mstr);
mvar := mstr;
tvar := sizeof(mvar);
mstr := '1234567890';
t2 := sizeof(mstr);
end;
t1和t2得出的值都是4.
tvar得出的值是16
我到底该怎么看到底用了多少存储空间
 
sizeof只是返回某一种变量类型的大小
并不是返回某个变量实际占用空间的大小
 
那怎么样才能返回某个变量实际占用空间的大小
 
Delphi 用的是 堆

C 语言用的栈
是不一样的
你用Variable检测是错误的
 
t1,t2得到的好像是指针的大小吧?string类型大小用sizeof(char)自己计算
varible应为variant
 
length(string)
 
length(string)才得到string的长度
或者用strlen(pchar(string))也可以得到string长度
 
张无忌,,所得有道理
 
后退
顶部