文章目录
1 空白字符
要想搞清楚预处理指令的开始和结束,首先得搞清楚空白字符的概念。
空白字符是以下字符的统称 :
- 空格符 --> \x20(注意:空格符是可打印字符)
- 水平制表符 --> \t
- 换行符 --> \n
- 垂直制表符 --> \v
- 换页符 --> \f
2 预处理指令的开始和结束
预处理指令的开始与结束:
- 以预处理记号“#”开头。
- 以“#”后面的第一个换行符结束。
但是,并非“#”的后面全都是预处理指令,比如:#define A(x) #x。
预处理器是根据什么样的规则来判定一条指令是否是预处理指令呢?
符合以下两种情况的指令是预处理指令:
1.“#”的前面没有其它任何的字符,或者只有空白字符。
(这种情况说明:“#”是源文件第一个非空白字符)
2.“#”的前面是空白字符,并且空白字符中至少要有一个换行符。
(这种情况说明:“#”是一行中的第一个非空白字符)
总结:使预处理指令独占一行即可。