在C语言中,宏定义也是一种很重要的概念。可以使用“#define”来定义一个常量,也可以用“#define”来实现一些功能。这一篇文章中,我们将介绍一下,在C语言中,使用宏定义“#define”实现的一个小的例子。
我们可以借助“#define”,将很多关键字和函数,甚至是标点符号,来改成别的名字。比如:如下程序所示:
在C语言程序中,宏定义“define”的一种有趣的用法
上述程序,突然一看,似乎已经与C语言代码差距较远。在第15行,隐隐约约地看到了“hello world”字样,如果运行以上的程序,最终,程序的执行结果是:
在C语言程序中,宏定义“define”的一种有趣的用法
当运行程序时,屏幕上显示出了“hello world”字样,其实,上述程序,就是取代了最基础的C语言程序:在屏幕输出“hello world”。原C语言程序,如下图所示:
在C语言程序中,宏定义“define”的一种有趣的用法
上述C语言程序,就是使用printf函数,在屏幕上输出“hello world”,在示例代码1中,代码变得认不出了,是因为在第3行到第9行,使用了“#define”宏定义语句,将“int”、“void”、“main”、“printf”、“return”等字样,替换为了不同长度的下划线。
宏定义,其实就是在程序编译的时候,将宏替换为相关字符。如在代码1中,一个下划线,代指“int”字样;两个下划线,代指“main”字样;三个下划线,代指“void”字样;六个下划线,代指“printf”字样;七个下划线,代指“return”字样。
在代码1中,还将左小括号和右小括号,使用下划线代替了。当然,也可以将“hello world”这个字符串本身,使用其他字符来进行替代。
在C语言程序中,宏定义“define”的一种有趣的用法
在使用“#define”进行将相关字样修改后,C语言就很难被认出了。这是“#define“宏定义的一个很有趣的小实验。
“#define”宏定义的很重要的作用,就是可以定义一个宏,然后,在代码中使用这个定义的宏,使得代码在修改的时候,“一处修改,多处生效”。
通过上述这个小实验,我们就能进一步体会到,使用宏,可以替代程序中的一些字符串,甚至是可以替代C语言自身的关键字。
作者:轻松学习C语言
链接:https://www.jianshu.com/p/417ff2630afd
共同学习,写下你的评论
评论加载中...
作者其他优质文章