返回首页
  uu快三骗局 > 编程 > delphi >

Delphi2010 语法基础(2) 标识符

2019-03-22 14:30 阅读:153 来源:智宇SEO自媒体

  2.1标识符

  简单来说,标识符就是一个合法的名称,用于替变量、常量、函数甚至是数据类型等命名。按种类可分为标准标识符及自定义标识符。
 

  2.1.1标准标识符

  所谓标准标识符是指由 Delphi 预先定义的标识符,用于标识 Delphi 预先定义的函数,变量等。主要有以下几种:

  1.标准常量及变量名称,如 FALSE、TRUE 等。

  2.标准类型名称,如 Integer、Real 等。

  3.标准例程名称,如 Sin、IntToStr 等。

  4.标准文件名称,如标准 I/O 名称 Input、Output 等。

  5.Delphi2010 的保留字及指令符,如 procedure、class 等。

  在选择标识符时,应尽量与标准标识符相冲突,否则可能会造成想不到的结果。
 

  2.1.2自定义标识符

  顾名思义,自定义标识符就是程序员根据需要所定义的名称,一个合法的自定义标识符需满足以下条件:

  1.Delphi 语言不区分大小写,标识符亦然,如 PASCAL 与 pascal 将被视为同一标识符。

  2.自定义标识符不能和当前域中的其它标识符相同。

  3.标识符长度应小于或等于 255 个字符。若超出此长度,超出的部分将被舍弃,只取前 255 个字符。

  4.标识符由英文字母、下划线、数字组成,不包含空格,第一个字符不能是数字。

  实际上,Delphi2010 采用 unicode 字符集,其标识符可由任何 unicode 中的字符组成,但有一个小小的例外:

  Unicode 的前 256 字符对应于 ansi 字符集的 256 个基本字符,在这些字符的前 128 个字符中,只有英文字母和数字及下划线'_'可用于标识符,其它如英文标点、空格等字符均不能用于标识符。

  如英文标点‘?’不可作为标识符,但中文中的‘?’却可以。因为中文的‘?’不属于英文字符。这也是为什么在有些早期版本中不支持中文作为文件名的原因。

  之所以不能使用英文字符,是由于英文中的符号往往有其特殊用途,如‘:’用于声明变量,‘$’用于标识十六进制数字,这类系统预定义的符号称之为特殊符号。Delphi2010 中的特殊符号有:

  # $ & ' ( ) * + , - . / : ; < = > @ [ ] ^ { }

  以下的组合符号亦为特殊符号:

  (* (. *) .) .. // := < = > = <>

  其中,‘(.’组合等效于‘[’,‘.)’组合等效于‘]’,‘(*’组合等效于‘{’, ‘*)’组合等效于‘}’。

  除此之外,以下符号虽非特殊符号,但亦不能用于标识符:

  % ? ! " | ~
 

  2.1.3标识符的作用域

  如同中国的法律只能使用于中国境内,每个标识符只在某个特定范围内有效。按照有效范围的大小可将标识符分为全局标识符及局部标识符。

  局部标识符是指定义于例程(函数或过程)中的标识符,此种标识符只能用于定义它们的例程。举例子来说,局部标识符类似于北京市出台的政策,这些政策只能用于北京。

  除局部标识符外的所有标识符均为全局标识符。定义于.pas 文件的全局标识符按照定义时所处位置分类,可分为公有及私有标识符。所谓公有标识符是指定义于.pas 文件的Interface 部分的全局标识符,其它为私有标识符。二者在定义它们的.pas 文件中的有效范围均为定义时所处的位置到.pas 文件的末尾。不同的是,公有标识符不但在本.pas 文件中有效,在所有引用了本.pas 文件的其它文件如.dpr 文件中也有效,故称其为公有。



返回首页