考虑下面的C程序。该程序在函数名周围有额外的括号。
null
// C program to show that extra brackets with function // name work #include <stdio.h> void (foo)( int n) { printf ( "Function : %d " , n); } int main() { (foo)(4); return 0; } |
输出:
Function 4
因此,在C/C++中,用函数名添加额外的括号是有效的。
它有什么用呢? 一个用途是,如果我们有一个与函数同名的宏,那么额外的括号可以避免在我们希望调用函数的任何地方进行宏扩展。
// C program to show that extra brackets with function // name can be useful if we have a macro with same name #include <stdio.h> #define foo(n) printf("Macro : %d ", n); void (foo)( int n) { printf ( "Function : %d " , n); } int main() { (foo)(4); foo(4); return 0; } |
输出:
Function 4 Macro : 4
如果你喜欢Geeksforgek,并想贡献自己的力量,你也可以写一篇文章,然后把你的文章发到contribute@geeksforgeeks.org.看到你的文章出现在Geeksforgeks主页上,并帮助其他极客。
如果您发现任何不正确的地方,或者您想分享有关上述主题的更多信息,请写评论
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END