C指向函数声明语法的指针

前端之家收集整理的这篇文章主要介绍了C指向函数声明语法的指针前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在foo的参数情况下,两个声明之间有什么区别?第二个语法对我来说很熟悉,并声明了一个指向函数的指针.这两个声明完全相同吗?
void foo(int(int));
void foo(int(*)(int));

解决方法

只要在函数参数列表中使用int(int)和int(*)(int),它们就是等价的.在函数参数列表中,int(int)由语言自动调整为int(*)(int).

使得int []参数声明等效于int *参数声明的是adjustment mechanism.

在这个特定的上下文之外,int(int)和int(*)(int)意味着两个不同的东西.

猜你在找的C&C++相关文章