对定义为函数的库功能,标准C语言允许实现提供除真正函数以外的同名函数或宏
例:
假设担心math.h中已有名为cos的宏,则可以用下面两种方法引用基础函数。
两者都利用宏名后面不能紧跟一个开括号的特点,避免扩展同名函数或宏cos
#include<math.h>
double a,b,(*p)(double);
...
p = &cos;
a= (*p)(b);/* calIs function cos,always */
a= (cos)(b);也可以取消所有涉及到的宏的定义:
#include<math.h>
#undef cos
...
a = cos(b);/* calls function cos,always*/
2万+

被折叠的 条评论
为什么被折叠?



