gpt4 book ai didi

c - 像 "typedef int (f)(void)"这样带括号的 typedef 是什么意思?它是一个函数原型(prototype)吗?

转载 作者:太空狗 更新时间:2023-10-29 16:23:40 24 4
gpt4 key购买 nike

typedef int (fc_name) (void);

此处 fc_name 是任何有效的 C 符号。

这与函数指针 typedef 有何不同?

最佳答案

它是函数类型的typedef。目的是将它用作函数指针,但在这种情况下使用它的语法是:

int bar(void);

fc_name* foo = bar; /* Note the * */

更新:正如对 Jonathan Leffler's answer 的评论中提到的那样, typedef 可用于声明函数。一个用途可能是声明一组回调函数:

typedef int (callback)(int, void*);

callback onFoo;
callback onBar;
callback onBaz;
callback onQux;

关于c - 像 "typedef int (f)(void)"这样带括号的 typedef 是什么意思?它是一个函数原型(prototype)吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3674200/

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