“\”在#define语句中的用法

    我们知道#define定义宏有两种用法:

    一种用法如下:#define 宏名 替代文本

    另一种用法如下:#define 宏名

    在第一种用法中,预处理指令#define与宏名之间,以及宏名与替代文本之间均必须有空格隔开,空格数目均可不限,其表示用替代文本去替换宏。在第二种用法中,预处理指令#define与宏之间必须有空格,空格数目也不限,仅表示宏已被定义。两种用法中的整个内容均必须本质上在同行,也就是让编译器理解是在同一行的。在第一种用法中,用#define定义宏时,若内容过长,一行写不下,可以用“\”来指示编译器连接行,表示将本行从“\”之前内容和下一行连接成一行。

    使用时应注意四点:

    第一,“\”的位置不限,可以在任何地方。

    第二,“\”仅起到指示连接行的作用,其本身不代表任何类型的空格。

    第三,“\”之后不可有任何内容,除空格外。

    第四,“\”之前的所有空格都有效,会被连接成行内容,而其后的所有空格都无效。

    以上便是“\”在#define预处理指令中的用法,但“\”并非只能用在#define语句中,而是可以用在程序文本的任何地方,用法不变。

    以下便是两个例子,在Visual C++ 6.0下编译通过。

// “\”在#define预处理指示中的用法示例

#include <stdio.h>

#define sum(a,b,c) \
(a+b+c)

int main(int argc,char* argv[]) {
  printf("%d\n", sum(1,3,5));
  return 0;
}
// “\”普适用法举例

#include <stdio.h>

int main(int argc, char* argv[]) {
  printf("abcde\
  f\n");
  printf("abcdef\
  \n");
  return 0;
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值