My Labs! C++

Work is Worth Doing of Worth Doing Well.

[标识符]或者[符号]都是你在程序中提供给变量、类型,函数与标签的名称。来自于任何关键字的标识符名称必须有不同的拼写方式与大小写。你不能使用关键字(C 或者 Microsoft)来作为标识符;它们是为了特殊用途而被保留的。你可以通过在变量,类型或者函数的声明中对它进行指定来创建一个标识符。在这个范例中,result 是一个整数变量的标识符,而 main 与 printf 都是函数的标识符名称。

#include <stdio.h>

int main()
{
    int result;
    
    if ( result != 0 )
        printf_s( "Bad file handle\n" );
}

一旦被声明,你就可以在后面的程序语句中使用该标识符来引用到被关联的值。

一种特殊的标识符被称为语句标签,可以在 goto 语句中使用。(声明在[声明与类型语句]中被描述,而类型语句标签则在[goto 与有标签的语句]中被描述。)

语法

标识符:
非数字

非数字标识符

数字标识符

非数字:以下一种
_ a b c d e f g h i j k l m n o p q r s t u v w x y z

A B C D E F G H I J K L M N O P Q R S T U V W X Y Z

数字:以下一种
0 1 2 3 4 5 6 7 8 9

标识符名称的第一个字符必须是非数字(就是说,第一个字符必须是下划线或者大小写字母)。ANSI 在外部标识符的名称中只允许六个重要的字符与长度为 31 的内部(在一个函数中)标识符名称。外部标识符(被声明在全局范围或者以存储类 extern 而被声明的)可能会遵循外部命名约束,因为这些标识符不得不通过其他软件而被处理,比如链接器。

Microsoft 特定

虽然 ANSI 在外部标识符名称中允许 6 个重要字符与长度为 31 的内部(在函数中)标识符名称,Microsoft C 编译器在内部标识符名称或者外部标识符名称中允许 247 个字符。如果你不关心与 ANSI 的兼容,你就可以使用 /H(约束外部名称的长度)选项把这个默认值改成一个更小或者更大的数字。

结束 Microsoft 特定

C 编译器考虑大小写字母来区分字符。这个特征被称为[字母大小写敏感],允许你创建拥有相同拼法但是一个或者多个字母的大小写不同的不同标识符。例如,下列每种标识符都是唯一的:

add
ADD
Add
aDD
Microsoft 特定

不要选择以两个下划线或者一个下划线与一个大写字母来作为标识符名称。ANSI C 标准允许以这些字符组合开始的标识符名称被保留给编译器使用。文件级别范围的标识符同样不应该以一个下划线和一个小写字母来作为前两个字母而被命名。以这些字符开始的标识符名称同样也是被保留的。按照惯例,Microsoft 使用一个下划线与一个大写字母来作为宏名称的开始,还使用两个下划线来作为 Microsoft 特定的关键字名称。要避免任何命名冲突,就要始终选择不是以两个下划线开始的标识符名称,或者以一个下划线与一个大写字母开始的名称。

结束 Microsoft 特定

下列有效的标识符范例同时符合 ANSI 或者 Microsoft 命名约束:

j
count
temp1
top_of_page
skip12
LastNum
Microsoft 特定

虽然源文件中的标识符在默认时是对于大小写敏感的,但是文件对象中的符号则不是。Microsoft C 会把编译单元中的标识符视为是大小写敏感的。

Microsoft 链接器也是大小写敏感的。你必须依照大小写来指定所有一致的标识符。

[源字符集]是可以出现在源文件中的合法字符集。至于 Microsoft C,源集就是标准的 ASCII 字符集。源字符集与实行字符集包括了作为换码序列的 ASCII 字符。更多关于实行字符集的信息,参考[字符常数]。

结束 Microsoft 特定

标识符拥有[范围]特性,该特性是所说的程序区域,还有[联接]特性,该特性检测是否有相同的名称在其他范围中引用到了相同的标识符。这些主题在[生命期、范围,可见度与联接]中被说明。

posted on 2007-03-26 18:21 Laeb 阅读(1266) 评论(0)  编辑 收藏 引用 所属分类: C 语言参考 / C 标识符