为了账号安全,请及时绑定邮箱和手机立即绑定

C语言中,宏定义“define”的一种有趣的用法

标签:
C

在C语言中,宏定义也是一种很重要的概念。可以使用“#define”来定义一个常量,也可以用“#define”来实现一些功能。这一篇文章中,我们将介绍一下,在C语言中,使用宏定义“#define”实现的一个小的例子。

我们可以借助“#define”,将很多关键字和函数,甚至是标点符号,来改成别的名字。比如:如下程序所示:

webp

在C语言程序中,宏定义“define”的一种有趣的用法

上述程序,突然一看,似乎已经与C语言代码差距较远。在第15行,隐隐约约地看到了“hello world”字样,如果运行以上的程序,最终,程序的执行结果是:

webp

在C语言程序中,宏定义“define”的一种有趣的用法

当运行程序时,屏幕上显示出了“hello world”字样,其实,上述程序,就是取代了最基础的C语言程序:在屏幕输出“hello world”。原C语言程序,如下图所示:

webp

在C语言程序中,宏定义“define”的一种有趣的用法

上述C语言程序,就是使用printf函数,在屏幕上输出“hello world”,在示例代码1中,代码变得认不出了,是因为在第3行到第9行,使用了“#define”宏定义语句,将“int”、“void”、“main”、“printf”、“return”等字样,替换为了不同长度的下划线。

宏定义,其实就是在程序编译的时候,将宏替换为相关字符。如在代码1中,一个下划线,代指“int”字样;两个下划线,代指“main”字样;三个下划线,代指“void”字样;六个下划线,代指“printf”字样;七个下划线,代指“return”字样。

在代码1中,还将左小括号和右小括号,使用下划线代替了。当然,也可以将“hello world”这个字符串本身,使用其他字符来进行替代。

webp

在C语言程序中,宏定义“define”的一种有趣的用法

在使用“#define”进行将相关字样修改后,C语言就很难被认出了。这是“#define“宏定义的一个很有趣的小实验。

“#define”宏定义的很重要的作用,就是可以定义一个宏,然后,在代码中使用这个定义的宏,使得代码在修改的时候,“一处修改,多处生效”。

通过上述这个小实验,我们就能进一步体会到,使用宏,可以替代程序中的一些字符串,甚至是可以替代C语言自身的关键字。

webp



作者:轻松学习C语言
链接:https://www.jianshu.com/p/417ff2630afd


点击查看更多内容
TA 点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
  • 推荐
  • 评论
  • 收藏
  • 共同学习,写下你的评论
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消