名字
是指代表某些东西的有助于记忆的字符序列。名字可以使我们采用符号形式标识符引用变量、常量、子程序、形参而不用采用更低级的如地址一类的概念。从低级语言到高级语言的发展过程中,名字 是抽象出来的最重要的概念之一。
名字不只是用于变量,也常用于常量、子程序、形参等。
标识符一词常常与名字概念互换使用。
一、名字的长度
早期的程序设计主要用来解决数学问题,数学中常用的就是单个字符的变量。如x,y,z。
Fortran1 打破了使用单个字符名字的传统,它最多允许使用6个字符。直至到Fortran77。
Fortran95 中变量名字最多允许31个字符。
C89/Java/JavaScript/Ada/C# 对名字长度没有限制,但Ada中允许施加一种长度限制,这种限制不少于200个字符。
C99类似于C89,但名字中前63个字符必须有意义。
二、名字是否区分大小写
多数语言,如基于C的语言中(Java,JavaScript等),名字是区分大小写的。或者说这些语言中名字大小写是敏感的。
如 name,Name,NAME 是三个不同的标识符。部分人觉得很疑惑,这明明就是一个东西啊。认为这严重损害了语言的可读性。
因为看上去十分相似的名字实际上却表达了不同的实体。
三、特殊的名字-特殊字
名字中有一些受到特别关注的,称为特殊字。特殊字分为关键字
和保留字
。
关键字
,它只在特定的上下文中式特殊的。
如JavaScript中function内的arguments,它只在function内是特殊的,你仍然可以 使用它作为标识符
,如变量名,函数名。但显然这样会引起歧义。
保留字
,它是程序设计语言中的特殊字,它不能用做变量、形参、子程序等的名字。
如Java中的class,JavaScript中的var。又或C、Java、JavaScript中的while,for等。这些都不能作为标识符。
这两个概念其实很清楚,但后续将其模糊了。尤其在ECMAScript5中提出了“keyword”和“Future Reserved Words”的概念。
如ECMAScript5中将var、break、for、while等称为关键字(keyword),见ECMAScript5 7.6.1.1
把为语言后续版本预留的,暂未实现的名字称为未来保留字(Future Reserved Words),见ECMAScript5 7.6.1.2
一些书籍表述也各不同,
《JavaScript高级程序设计》第二版基本上和ECMAScript 5 一致,称var、break、for,while等是关键字。见该书19页。按最早的概念是不对的,应该称保留字。
《JavaScript权威指南》第五版亦未分清关键字和保留字,2.8节大标题为“保留字”,表2-1又称“保留的JavaScript关键字”,表2-2又称“ECMA扩展保留的关键字”。实际上这些都是保留字,前者是已经实现的,后者是为语言后续版本预留的暂未实现的。
当然这一切由于ECMAScript5 自身就没有严格的区分关键字和保留字的概念。
四、大多语言,名字有以下规则
1,第一个字符时字母、下划线(_)或美元符号($)
2,剩下字符可以是字母、下划线、美元符号和数字
- 大小: 5.7 KB
- 大小: 14.1 KB
分享到:
相关推荐
在PL/0语言中,标识符是程序中的变量名、函数名或其他用户定义的名字。标识符分析是编译器前端的第一步,它主要负责识别并处理源代码中的标识符,确保它们符合语言的命名规则,并建立符号表来存储这些信息。在“实验...
标识符是 Java 编程语言中的一种基本组成部分,它是指在 Java 源文件中,包、类、接口、变量、常量或方法的名字。标识符必须遵守一定的命名规则,例如标识符的首字符必须是字母、下划线“_”或美元符号“$”,并且不...
在C语言中,标识符是用来标识源程序中的某个对象的名字的,这些对象可以是语句、数据类型、函数、变量、常量、数组等。C语言规定,一个标识符由字母、数字和下划线组成,第一个字符必须是字母或下划线。通常以下划线...
### Java标识符和变量的命名规则详解 #### 一、Java标识符的使用规范 在Java编程语言中,标识符是用于定义类名、方法名、变量名等的基本元素。理解并正确应用标识符的使用规范对于编写清晰、可读性强的代码至关...
预定义标识符是C语言中提供的库函数的名字(例如printf)和define等。C语言的语法是允许把这类标识符另作他用,不过这些标识符会失去系统规定的原定的含义。因此为了避免误解,建议用户不要把这些预定义标识符别作他...
// 存放登记标识符名字 int addr; // 记录标识符编号 } id[125]; // 标识符 int main() { ... for (i = 0; i (str); i++) { if (str[i] == ';') { for (j = 0; j ; j++) { if (strcmp(A, id[j].name) == 0) ...
5. **标识宏的名字**: 如`#define MAX 100` 6. **宏的参数**: 如`#define ADD(x, y) (x + y)` #### 六、数据类型转换 除了标识符之外,数据类型转换也是C++中的一个重要概念,主要包括自动转换和隐式转换。 ##### ...
标识符则是程序员为变量、函数、数组等自定义的名字,遵循一定的命名规则:必须以字母或下划线开头,后续可以是字母、数字或下划线,并且区分大小写。 在C语言程序设计中,关键字识别和常量标识符的正确使用是避免...
前文已经说了,我们的中文标识符必须按照“nameof(“变量名字符串”)”的格式。我们复制的时候,把所有出现这样格式的内容都替换掉。“nameof”还保留不变。“(“变量名字符串”)”都变成对应GB码的十六进制字符。...
在C语言中,标识符是程序员为变量、常量、函数等编程元素自定义的名字。它们遵循以下规则: 1. 标识符可以由字母(a-z,A-Z)、数字(0-9)和下划线(_)组成,但不能以数字开头。 2. 标识符区分大小写,`MyVariable...
- **确定符号表的组织方式**:符号表通常由名字栏和信息栏组成,其中名字栏作为关键字,用于存储标识符的名称,信息栏用于存储与该标识符相关的其他信息(如类型、作用域等)。 - **实现基本操作**: - **查找**:...
在编程中,标识符是指变量、函数、类等编程元素的名字。基于标识符的分析方法侧重于通过跟踪代码中的这些名称来理解它们之间的关系,进而确定代码块之间的依赖性。这种方法的核心在于,通过解析源代码,构建一个...
标识符是程序员为变量、常量、过程等创建的名字。在VBA中,标识符必须以字母开头,可以包含最多255个字符,不能包含空格、VBA的关键字(如Sub、For等)、特殊字符(如!@&$#)以及数字(除非放在名称的末尾)。为了...
标识符是变量、函数、类、模块和其他对象的名字。标识符的规则是: * 不能以数字开头 * 不能是保留字 * 严格区分大小写 例如: ``` x = 1 # 变量名 def func(): # 函数名 pass class MyClass: # 类名 pass ``` ...
标识符是Java编程中给变量、方法、类等起的名字。Java标识符的规则是:以字母、下划线(_)或美元符号($)开头,后面跟着字母、下划线、美元符号或数字。需要注意的是,Java是大小写敏感的,标识符的长度没有限制。...
标识符是程序员为程序中的变量、函数、数组、结构体、枚举类型等自定义的名字,它在程序中用于区分不同的对象。 在C语言中,一个标识符通常由字母、数字以及下划线(_)组成,且必须以字母或下划线开头。根据C语言...
标识符是Java语言中最基本的组成部分,它是指在Java程序中使用的名字,用于命名变量、方法、类等。Java标识符的规则是:它可以是字母、数字、下划线或美元符号,但不能以数字开头。 关键字是Java语言中预定义的单词...
标识符是用户在编程时给类、变量、常量、方法(函数)、语句块等起的名字。Java语言中标识符不包括关键字,而C语言包括。标识符的组成规则是: * 由数字、字母、$和_组成 * 不能以数字开头 * 不能是关键字 * 名字之...