目录
前言
今天介绍的是define定义的宏,首先要了解在C 语言中,可以用 #define 定义一个标识符来表示一个常量,而define是预处理指令的一种,它用来定义宏,宏只是一个简单的替换,将宏变量所对应的值替换。
define定义的宏
例一:
#define ADD(X,Y) X+Y
int main()
{
printf("%d\n",5*ADD(2,3));
return 0;
}
例一中define定义的宏的作用是替换(即将ADD(X,Y)替换成X+Y)
所以下方当出现5*ADD(2,3)时即转换为5x2+3=13,但如果这并非我的本意,我想要的是5x(2+3)的结果,那么该如何正确的运用define定义的宏呢?请看例二
例二:
#define ADD(X,Y) ((X)+(Y))
int main()
{
printf("%d\n",5*ADD(2,3));
return 0;
}
例二中的结果为5x(2+3)=25,说明了一个问题,就是在定义宏的时候不应该把X和Y简单的看成变量而应该是两个表达式,定义的应该是((X)+(Y))的整个宏体
总结
今天简单的介绍了define定义的宏的简单的应用和正确的应用思维,希望对大家有所帮助!