
标识符
标识符(identifier)是指用来标识某个实体的一个符号,在不同的套用环境下有不同的含义。在计算机程式语言中,标识符是用户编程时使用的名字,用于给变数、常量、函式、语句块等命名,以建立起名称与使用之间的关係。标识符通常由字母和数字以及其它字元构成。
基本介绍
- 中文名:标识符
- 外文名:identifier
- 别称:标记符
- 外文简称:ID
定义
在程式语言中,标识符就是程式设计师自己规定的具有特定含义的词,比如类名称,属性名称,变数名等。
程式语言中对标识符的规定
C语言
- 标识符由字母(A-Z,a-z)、数字(0-9)、下划线“_”组成,并且首字元不能是数字,但可以是字母或者下划线。例如,正确的标识符:abc,a1,prog_to。
- 不能把C语言关键字作为用户标识符,例如if ,for, while等.
- 标识符长度是由机器上的编译系统决定的,一般的限制为8字元(注:8字元长度限制是C89标準,C99标準已经扩充长度,其实大部分工业标準都更长)。
- 标识符对大小写敏感,即严格区分大小写。一般对变数名用小写,符号常量命名用大写。
- 标识符命名应做到“见名知意”,例如,长度(length),求和、总计(sum),圆周率(pi)……
C语言中把标识符分为三类:关键字,预定义标识符,用户自定义标识符。
C++
- 标识符由字母、数字、下划线“_”组成。
- 不能把C++关键字作为标识符。
- 标识符长度限制32字元。
- 标识符对大小写敏感。
- 首字元只能是字母或下划线,不能是数字。
JAVA
- 标识符由字母、数字、下划线“_”、汉字、美元符号“$”组成,第一个字元不能是数字。
- 不能把java关键字和保留字作为标识符。
- 标识符没有长度限制。
- 标识符对大小写敏感。
彙编语言
在彙编语言里,标识符由字母、数字、下划线组成。
在彙编语言中,标识符的命名规则是:由字母(大、小写皆可)、数字及下划线组成,且第一个字元必须是字母或者下划线,不能用具有意义的指令符号或者暂存器。在彙编语言中,一般用大写字母。
下面的标识符名是合法的:
year,Day,ATOK,X,_ CWS,HAO
而下面的标识符名是不合法的:
#123,.COM,$100,1996Y,1_2_3,Win3.2,LOOP,AX
python
在python里,标识符有字母、数字、下划线组成。
在python中,所有标识符可以包括英文、数字以及下划线(_),但不能以数字开头。python中的标识符是区分大小写的。
以下划线开头的标识符是有特殊意义的。以单下划线开头(_foo)的代表不能直接访问的类属性,需通过类提供的接口进行访问,不能用“from xxx import *”而导入;以双下划线开头的(__foo)代表类的私有成员;以双下划线开头和结尾的(__foo__)代表python里特殊方法专用的标识,如__init__()代表类的构造函式。
Delphi
Delphi语言是一个基于Object Pascal语言的Windows应用程式开发系统,在所有的事件处理过程和应用程式中都是使用它来编写程式代码。
Delphi语言标识符是Object Pascal语言中用来表示应用程式量的名称。包括:变数(Var)、常量(Const)、类型(Type)、过程(Procedure)、方法(Method)等。标识符分为标準标识符和自定义标识符两类。标準标识符是Object Pascal语言系统预先分配给标準常量、标準类型、标準函式、标準过程及标準档案使用的标识符。如标準常量:False、True;标準类型:integer、char、real;标準函式:Abs、Sqr、Cos等。自定义标识符是程式设计师根据需要为自己定义的常量、变数、类型、函式、过程以及所编写的程式名等。Object Pascal标识符由字母、数字、下划线组成,其规定为:
(1)必须以字母或下划线开始;
(2)不能与保留字相同;
(3)避免与Object Pascal已经使用的标準标识符相同。
VB
第一个为英文大、小写字母或汉字,后面跟着若干数字、英文大小写字母(字母不区分大小写),下划线'_'或美元符号'$',总长度不要超过255个。在Basic语言里,标识符不分字母大小写。另外,在电脑语言中,预先定义了一些标识符,以作专门用途,我们称之为关键字,所以,您命名的标识符不能与关键字相同。还有一种情况也必须注意,那就是在同一个作用域内不允许定义相同的标识符。
正确的标识符举例:W_absd1234 ,LLLLl ,ab2cd3ef4 。
由于在Basic语言里,标识符不分字母大小写,所以 LLlll 与 LLLLl指的是同一个标识符,AB2cd3ef4 与 ab2cd3ef4指的是同一个标识符
错误标识符举例:A12@34 就是一个错误的标识符,因为字元@不能组成标识符;1234 是一个错误的标识符,因为它不是以字母打头;if 就是一个错误的标识符,因为它是一个关键字。
flash as3
1.在AS3.0中,变数、类和函式都需要一定的名称方可互相区别,并在程式中準确无误的套用。这些有着特定含义的专有名称叫做标识符。
2.按照定义的场所,标识符分为两大类:语言内建标识符和用户自定义标识符。
语言内建标识符:语言内建标识符定义在语言内部。
用户自定义标识符:用户自己创建的名称就是用户自定义标识符.
AS3.0中对标识符的技术限制主要包括以下几点
(1) 所有的标识符大小写敏感。(2) 标识符的首字元必须是英文字母(包括大写或者小写)。(3) 标示符应该由数字(0-9),所有从“A”至“Z”的大写字母、从“a”至“z”的小写字母和下划线“_”构成。(4) 不能与AS3.0k的内建关建字冲突。常见的内建关建字
as | break | case |
catch | class | const |
continue | default | delete |
do | else | extends |
typeof | finally | for |
function | if | implements |
import | in | instanceof |
interface | internal | is |
native | new | null |
package | private | protected |
public | return | super |
switch | this | throw |
to | true | try |
use | var | void |
while | with | false |
应避免合用的关键字
each | get | set |
namespace | include | dynamic |
final | native | override |
static |
(5) 儘量避免使用保留字保留关键字
abstract | boolean | byte |
cast | char | debugger |
double | enum | export |
float | goto | intrinsic |
long | prototype | short |
synchronized | throws | to |
transient | type | virtual |
volatile | dim | mx |
常见的标识符命名错误
合法标识符 | 非法标识符 | 注释 |
fromNo12 | from#12 | 标识符中不能使用#符号 |
my_Boolean | my-Boolean | 标识符中不能使用“-”符号,应使用“_”代替 |
Obj2 | 2ndObj | 标识符不能使用数字开头 |
myclass | class | “class”是内建关键字 |
jack_rose | jack&rose | 符号“&”不能在标识符中使用 |
GUI | G.U.I | 标识符内部不能出现“.”分隔设定 |
mybreak() | break() | “break”是内建关建字不能用于自定义函式名 |