C语言的标识符
1.1、什么是标识符

标识符是用来标识数据类型变量名变量名函数名的有效字符序列。

C语言中的标识符具有如下特点:

  • 只能由字母、数字、下划线组成。
  • 大小写敏感,比如a与A不同。
1.2、关键字

编译器来说,已经表示了特殊含义的标识符,就是关键字

C90规定了32signedunsignedcharshortintlongfloatdoublestructenumuniontypedefvoidconstvolatileregisterautoexternstaticifelseforwhiledoswitchcasedefaultbreakcontinuereturnsizeofgoto
C99新增了5inlinerestrict_Bool_Complex_Imaginary
C11新增了7_Alignas_Alignof_Atomic_Static_assert_Noreturn_Thread_local_Generic

注意boolboolean等不是C语言的关键字

1.3、保留字

保留字(Reserved Words)一般是等同于关键字(Keywords)的。保留字是语言中已经定义过的字,使用者不能再将这些字作为变量名或过程名使用。而关键字则指在语言中有特定含义,成为语法中一部分的那些字。在一些语言中,一些保留字可能并没有应用于当前的语法中,这就成了保留字与关键字的区别。一般出现这种情况可能是由于考虑扩展性。例如goto,它可能未来要增加直接跳转的功能,那么为了使当前版本的程序代码能向后兼容,所以不允许使用goto作为变量名,但当前版本的语言并不支持goto的直接跳转功能,它目前就不是关键字。

1.4、用户自定义标识符

用户自定义标识符是用户自己定义的符合标识符规则的标识符。

用户自定义标识符不能与关键字保留字相同。

用户可以定义:变量、宏、函数、类型等。

示例:

#define AVERAGE(low,high) ((low + high) / 2)

int average(int low, int high);

int low = 2;
int high = 5;

typedef char* String

上面的AVERAGEaveragelowhighString等都是我们自己定义的标识符