string变量的结构?
string变量的结构是怎么样的?与string[8]之类的变量有什么区别? 问题点数:50、回复次数:4Top
1 楼cobi(我是小新)回复于 2001-11-03 08:29:59 得分 10
string本身就是一个字符型的数组,一般的可以使用setlength给它定义长度,但是不常用而已
string[8]应该指的是读取一个string变量中的第八个字符
Top
2 楼xzgyb(老达摩)回复于 2001-11-03 09:10:20 得分 40
string,在{$h+}下是长字符串,这也是默认的,
长字符串好象是一指针,当字符串为空时,指针为nil,当赋一内容时,delphi会自动的在堆中
分配一块内存,并把地址值赋给改字符串变量,而相对于该地址的负偏移量4的内容为字符串
的长度,负偏移量8的内容为引用计数,当在此字符串赋给另一字符串变量时,引用计数会增加
当其中有一字符串改变了内容,delphi会重新分配内存,并把该地址赋给该字符串变量,原来的那
个引用计数相应的会减一,当以字符串的引用计数为零时,会释放内存,当字符串的所有引用变量
超出作用范围时会释放内存,另外当给一字符串赋为空字符串时,会释放它的内存,地址为nilTop
3 楼xzgyb(老达摩)回复于 2001-11-03 09:11:39 得分 0
不好意识,写的有点乱,呵呵Top
4 楼dedema(思想恐龙)回复于 2001-11-03 11:14:52 得分 0
先给分了再说!免得言而无信的!Top




