多行 C 宏中使用的转义符“\”有何意义?
What is the significance of the escape character " \ " used in multiline C macros?
我认为空格在 C 中实际上无关紧要。这对于预处理器来说有什么不同吗?为什么我们在创建多行宏时需要使用“\”?
预处理器指令以换行符终止,因此在该上下文中换行符与其他白色字符区分开来space。
换行符在 //
注释和字符串文字中也是有区别的。在这两种情况下,line-splicing 都可以用来扩展词素,尽管它被认为不是好的风格。
同样,您可以使用多行注释扩展预处理程序行,因为在识别预处理指令之前,注释会被替换为 space。如果他们想到它,样式指南可能也会劝阻。
我认为空格在 C 中实际上无关紧要。这对于预处理器来说有什么不同吗?为什么我们在创建多行宏时需要使用“\”?
预处理器指令以换行符终止,因此在该上下文中换行符与其他白色字符区分开来space。
换行符在 //
注释和字符串文字中也是有区别的。在这两种情况下,line-splicing 都可以用来扩展词素,尽管它被认为不是好的风格。
同样,您可以使用多行注释扩展预处理程序行,因为在识别预处理指令之前,注释会被替换为 space。如果他们想到它,样式指南可能也会劝阻。