C
cherywq
Unregistered / Unconfirmed
GUEST, unregistred user!
代码如下:
var A:string;
begin
SetLength(A,6);
Showmessage(inttostr(Sizeof(A)))
//这里返加为4
end;
而
var A:string[7];
begin
Showmessage(inttostr(Sizeof(A)))
//这里返加为7
end;
我想知道为什么第一个Sizeof函数会返回4,书上说明的不太详细,只是说返回A的内存大小,而不是字符串本身所占用的内存大小。对于这点解释我不是太明白。是不是指的是一个32位地址然后指向这个字符串啊,请各位大侠帮忙看看。另外后面的返回值为7,是不是就是指字符串所占用的内存大小呢?
var A:string;
begin
SetLength(A,6);
Showmessage(inttostr(Sizeof(A)))
//这里返加为4
end;
而
var A:string[7];
begin
Showmessage(inttostr(Sizeof(A)))
//这里返加为7
end;
我想知道为什么第一个Sizeof函数会返回4,书上说明的不太详细,只是说返回A的内存大小,而不是字符串本身所占用的内存大小。对于这点解释我不是太明白。是不是指的是一个32位地址然后指向这个字符串啊,请各位大侠帮忙看看。另外后面的返回值为7,是不是就是指字符串所占用的内存大小呢?