gpt4 book ai didi

c - 不寻常的函数指针参数语法

转载 作者:太空狗 更新时间:2023-10-29 15:07:14 26 4
gpt4 key购买 nike

这两种语法有什么区别吗?

void fun( void (*funptr)() )
{
funptr(); // calls the function
}

void fun( void funptr() )
{
funptr(); // calls the function
}

我一直在使用第一种形式,但我刚刚看到了第二种形式,它的行为似乎完全一样,而且语法更清晰。

最佳答案

没有区别。在这两种情况下,funptr 的类型都是 void (*)(),一种函数指针类型。

C99 标准,第 6.7.5.3 节,第 8 段:

A declaration of a parameter as ‘‘function returning type’’ shall be adjusted to ‘‘pointer to function returning type’’, as in 6.3.2.1.

关于c - 不寻常的函数指针参数语法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20725338/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com