C99 和 C11 允许使用更长的标识符(identifier),但是编译器只能识别前 63 个字符,对于外部标识符,只允许使用 31 个字符。
实际上,可以使用更长的字符,但是编译器会忽略超出部分的字符。
如果两个标识符,前 63 个字符全部一样,之后后面的不一样,那么编译器可能会将其视为一个名称,也可能不会,在标准中是未定义的。
标识符可以使用大小写字母、数字和下划线。
不能用数字开头。
标识符错误属于语法错误。
操作系统和 C 库通常使用一个或两个下划线字符开始的标识符,因此自己在程序中要注意不要使用一个或两个下划线开始的标识符,这样的标识符都是保留标识符(reserved identifier)。当同名时,虽然不会发生语法错误,但是会导致名称冲突。
关键字(keyword)是 C 语言的词汇,不能用作标识符,否则报语法错误。
关键字有: