当前位置: C语言 -- 专题 -- 预处理数

预处理数

根据ISO/IEC 9899:2018标准第6.4.8 preprocessing numbers节,预处理数(preprocessing numbers)有以下9种形式:

digit
. digit
pp-number digit
pp-number identifier-nondigit
pp-number e sign
pp-number E sign
pp-number p sign
pp-number P sign
pp-number .

其中digit为十进制数字字符(0~9);pp-number为预处理数;identifier-nondigit为非数字标识符,包括非十进制数字字符、通用字符名、其它实现定义的字符;非十进制数字字符包括下划线(_)、小写拉丁字母(a~z)、大写拉丁字母(A~Z);字符eE用于十进制浮点常量,字符pP用于十六进制浮点常量;sign表示符号(+或者-)。


预处理数没有值和类型;在成功转换为浮点常量标记或者整数常量标记后(在编译的第7个步骤进行这种转换。),预处理数获得值和类型。预处理数标记在词法上包括所有整数常量标记和浮点常量标记。