源代码中以#if
开头的一行现在被称为预处理器指令。在《C编程语言》(K&R)1一书中,它被称为“编译器控制线”。
符号#
本身似乎没有特殊的名称。例如,gcc编译器的文档将其称为“#”:
预处理指令是程序中以'#'开头的行。“#”前后允许有空格。“#”后面跟一个标识符,即指令名。它指定要执行的操作。指令通常被称为“#name”,其中name是指令名称。例如,'#define'是定义宏的指令。
K&R的书也只是称之为“#”:
以#开头的行与此预处理器通信。
1丹尼斯-里奇、布莱恩-克南根;C程序设计语言,第一版(1978年);第207页
C标准没有名称引用#
。在C 2018 6.4.6中,它被列为标点符号字符之一。它在C中有三种用途。在讨论它在预处理器指令中的用途时,标准将其称为“#
处理令牌”(6.10)。在讨论其用于“字符串化”操作时,标准将其称为“#运算符”(6.10.3.2)。当然,它可以用作字符常量('#'
)或字符串文本中的字符。