有些宏代表值,这些宏被称为类对象宏(object-like macro),如下例:
类对象宏中不接收参数,只是根据宏定义做简单的字符串替换操作....X:Y
int main()
{
printf("%d", MAX(X, Y));
return 0;
}
如上程序,宏定义MAX中包含了宏定义X和Y,vs2022中运行结果如下:
可见,宏定义是允许嵌套调用的...三.宏定义的应用
类对象宏
宏定义中的类对象宏的应用场景大致分为以下几种:
首先,对于绝大部分数字常量,我们应该使用宏定义来表示它们....类函数宏
求两个数中的较大值
在C语言初学阶段,我们学习过怎样编写一个函数求两个数中的较大值,如:
int Move_Max(int x, int y)
{
return x>y?...__a : __b; })
五.类函数宏与函数的对比
类函数宏的调用看上去和函数调用相同,那么这两者有何区别呢?