在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
我到底该怎么看到底用了多少存储空间
在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
我到底该怎么看到底用了多少存储空间
解决方案 »
- delphi中如何设置PPT、PPTX、DOC、DOCX文件在同一窗口打开?
- 怎么样将bmp黑白图,转换成点阵数组形式???
- 增加dxcomponentprinter打印功能后,dxdbgrid出错
- IdTcpClient的一个问题,以前好好的,今天就出问题了,不知道为什么
- 如何注册服务?
- 怎么把自己编写的程序注册成系统服务??
- 大虾,谈谈流,从一个流中读入数据,什么是流呀
- 请问有谁知道哪里有Delphi第三方控件的使用说明?
- 小生急需一个简单的对密码加解密的源程序请高手相助。 你说这奇怪不?
- 如何在listview中实现拖动,各位大虾救命
- delphi调用word的保存问题
- 如何将avi文件一帧一帧的播放
2 string可以通过string[0]或者length得到
3 对象的大小通过intancesize得到
而 Variant 类型其他是一个结构类型 SizeOf(Variant) = 16
SizeOf 得到的是类型的尺寸不一定是存储空间的尺寸如:
var
strTemp: String[100];
begin
if SizeOf(strTemp) = 100 then
ShowMessage('is True.')
else
ShowMessage('is False');
end;
这里的 String[100] 其实是静态的字符串数组类型若要知道字符串的长度可以使用: Length(str) 函数.
如果你定义STRING时指定了空间,用SIZEOF()可得出正确长度.
2 string可以通过string[0]或者length得到
-----------------------------------------------------
在现在的delphi版本里,用string[0]可能会有问题