小兔网

1.8.9 #error命令,阻止程序编译

假如现在要开发一个C语言程序,让它输出红色的文字,并且要求跨平台,在 Windows 和 Linux 下都能运行,怎么办呢?

在宏定义中,有时还会用到 # 和 ## 两个符号,它们能够对宏参数进行操作。

顾名思义,预定义宏就是已经预先定义好的宏,我们可以直接使用,无需再重新定义。

带参数的宏和函数很相似,但有本质上的区别:宏展开仅仅是字符串的替换,不会对表达式进行计算;宏在编译之前就被处理掉了,它没有机会参与编译,也不会占用内存。而函数是一段可以重复使用的代码,会被编译,会给它分配内存,每次调用函数,就是执行这块内存中的代码。