• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

Delphi的字符(Char),字符串(String),字符串指针(PChar),字符数组arrayofchar ...

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

Delphi有三种类型的字符:

AnsiChar这是标准的1字节的ANSI字符,程序员都对它比较熟悉。

WideChar这是2字节的Unicode字符。

Char在目前相当于AnsiChar,但在Delphi 2010 以后版本中相当于WideChar.

记住因为一个字符在长度上并不表示一个字节,所以不能在应用程序中对字符长度进行硬编码,

而应该使用Sizeof()函数。注意Sizeof()标准函数返回类型或实例的字节长度。

Delphi有下列几种不同的字符串类型 String

ShortString保留该类型是为了向后兼容 Delphi1.0,它的长度限制在255个字符内。
ShortString[0] = len : $H- 代表 ShortString

AnsiString是Pascal缺省的字符串类型,它由AnsiChar字符组成,其长度没有限制,
同时与null结束的字符串相兼容。<Delphi2.0开始引入> : $H+ 代表 AnsiString

WideString功能上类似于AnsiString,但它是由WideChar字符组成的。

WideString没有引用计数,所以将一个WideString字符串赋值给另一个WideString字符串时,
就需要从内存中的一个位置复制到另一个位置。这使得WideString在速度和内存的利用上不如AnsiString有效。

缺省情况下,编译器认为是AnsiString字符串< <Delphi2010 String 默认为 WideString>

Delphi有下列几种不同的字符串指针类型: 

PChar指向null结束的Char字符串的指针,类似于C的char*或lpstr类型。

PAnsiChar指向null结束的AnsiChar字符串的指针。

PWideChar指向null结束的WideChar字符串的指针。<Delphi2010 PChar 默认为 PWideChar>

字符数组

静态字符数组 CharArray : array[0..Length-1] of Char;

动态字符数组 CharArray : array of Char;

动态数组的构造和静态数组完全不同, 它和 String 的构造相似

String  : RefCount : Length : Char Char .... 0x00 < Delphi >

DynArry : RefCount : Length : Char Char .... 0x00 < Programmer >

StaArry :                   : Char Char .... 0x00 < Programmer >

 

                            : PChar = PChar( String ) = PChar( DynArray ) = PChar( StaArray )

StrLen( PChar )  : 字符个数, StrLen( PChar ) * SizeOf( Char ) : 字节个数 ( WideChar = 2 )

Length( String ) : 字符个数, Length( PChar ) * SizeOf( Char ) : 字节个数 ( AnsiChar = 1 )

 

 


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
热门推荐
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap