“标识符”或“符号”是程序中变量、类型、函数和标签提供的名称。 标识符名称必须与任何关键字的拼写和大小写不同。 不能将关键字(C 或 Microsoft)用作标识符;它们保留为特殊用途。 通过在变量、类型或函数的声明中指定标识符来创建标识符。 在此示例中,result是整数变量的标识符,也是mainprintf函数的标识符名称。
#include <stdio.h>
int main()
{
int result;
if ( result != 0 )
printf_s( "Bad file handle\n" );
}
声明后,可以在后面的程序语句中使用标识符来引用关联的值。
可以在语句中使用 goto 特殊的各种标识符(称为语句标签)。 (声明和类型语句标签中介绍了声明 和类型 语句标签,如 goto 和 Labeled 语句中所述)。
语法
identifier:
nondigit
identifier
nondigit
identifier
digit
nondigit:其中一个
_ 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
digit:其中一个
0 1 2 3 4 5 6 7 8 9
标识符名称的第一个字符必须是( nondigit 也就是说,第一个字符必须是下划线或大写或小写字母)。 ANSI 允许外部标识符名称和 31 个有效字符用于内部(在函数中)标识符的名称。 外部标识符(在全局范围内声明或使用存储类 extern声明的标识符)可能受到更多命名限制,因为这些标识符必须由其他软件(如链接器)处理。
Microsoft 专用
尽管 ANSI 允许外部标识符名称和 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 专用
标识符具有“范围”,它是已知程序的区域。 它还具有“链接”,用于确定另一个作用域中的同一名称是否引用同一标识符。 这些术语在 生存期、范围、可见性和链接中进行了说明。