初 初学者1号 Unregistered / Unconfirmed GUEST, unregistred user! 2006-05-21 #1 发现很多数据类型自己只会用,但不知道它如何组成的,望各位能指点一下,谢谢。 1.Varient 2.String 3.AnsiString 再次感谢您提出您的看法
C chinaxuguojun Unregistered / Unconfirmed GUEST, unregistred user! 2006-05-21 #3 variant 是指变体类型,各种数据类型的数据都可以放到里面,你可以用Sizeof(Variant)去得到这种类型的内存大小,是所有的Pascal类型里面占最大内存的类型的数值 String类型其实是一个指针,所以你用Sizeof(String)得到了是4字节,它的内存分配是由编译器做到的,基本上不用管它,但是有些特殊的函数在你不了解这种机制时会带来错误,如(Move等),在这种时候,你必须把字符串转换为相应的指针,然后去使用。 AnsiString我就没有怎么去研究它了,看字面上的意思应该和String差不多,也是指针,只不过可能只能保存Ansi字符,不能使用Unicode字符吧
variant 是指变体类型,各种数据类型的数据都可以放到里面,你可以用Sizeof(Variant)去得到这种类型的内存大小,是所有的Pascal类型里面占最大内存的类型的数值 String类型其实是一个指针,所以你用Sizeof(String)得到了是4字节,它的内存分配是由编译器做到的,基本上不用管它,但是有些特殊的函数在你不了解这种机制时会带来错误,如(Move等),在这种时候,你必须把字符串转换为相应的指针,然后去使用。 AnsiString我就没有怎么去研究它了,看字面上的意思应该和String差不多,也是指针,只不过可能只能保存Ansi字符,不能使用Unicode字符吧
C cnmd224541 Unregistered / Unconfirmed GUEST, unregistred user! 2006-05-21 #4 AnsiString 是Pascal缺省的字符串类型,它由AnsiChar 字符组成,其长度没有限制,同时与null结束的字符串相兼容