宏定义展开下的#与##

举报
Micah 发表于 2019/12/28 21:23:43 2019/12/28
【摘要】 #:定义为字符串##:连接符号宏定义中#与##符号相信大家见的并不多,主要是在内核代码里比较多见,可能大家用的也比较少,但这2种符号还是比较有用的,特别是##,详细的使用方法看下面的例程,相信大家一看就明白了 #符号的例程:#define ABC(x) #xint main(){printf( ABC(abc\n) );// ABC(abc\n)等价于:”abc\n”return 0;}输出...


#:定义为字符串

##:连接符号


宏定义中#与##符号相信大家见的并不多,主要是在内核代码里比较多见,可能大家用的也比较少,但这2种符号还是比较有用的,特别是##,详细的使用方法看下面的例程,相信大家一看就明白了

 

#符号的例程:

#define ABC(x) #x
int main()
{
printf( ABC(abc\n) );// ABC(abc\n)等价于:”abc\n”
return 0;
}


输出结果:

abc
按任意键继续…



##符号的例程:

#define MyMoney (x) mymoney##x
int main()
{
int mymoney1 = 10;
int mymoney2 = 20;
printf(“Money Left:\n” ,MyMoney (1) );//可以以人们更习惯的方式进行参数表达,还可以方便的使用for循环进行输出。
printf(“Money Left:\n” ,MyMoney (2) );
return 0;
}



输出结果:

Money Left:10
Money Left:20
按任意键继续…





【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。