函数名被小括号括住是什么意思,是不是解除相同的宏定义

来源:学生作业帮助网 编辑:作业帮 时间:2024/11/28 00:19:11
函数名被小括号括住是什么意思,是不是解除相同的宏定义
xRN@Ml&PJK AHH "Q A"jP0 Zgv/ݦf2f潝Tz6g k^ژU(~1k>iLʬYJNGYCU,!CLX<ۆ2u{52rf{ OCˢ9f6o:j&ybX't $Q"9. V\0zFd?r4/ɦukmZniǽ9&΀; b:'^ 9.u'8 fPJte K~us_dO l|˷ڮ(vV=P?PѢ.0t5

函数名被小括号括住是什么意思,是不是解除相同的宏定义
函数名被小括号括住是什么意思,是不是解除相同的宏定义

函数名被小括号括住是什么意思,是不是解除相同的宏定义
有两种作用:
1)在调用函数时防止宏扩展
例如:
#define max(a,b) (a > b) a :b
int max(int a,int b) {
return ((a > b) a :b);
}
则代码中的max(a,b)会扩展成宏
而(max)(a,b)会调用函数
2)在定义函数时防止宏扩展
例如:
#define getMaxNum() 10
int (getMaxNum)() {
return (10);
}
如果在定义函数时没有小括号,那么就变成了:
int 10{ 这句没有意义