【发布时间】:2022-10-01 00:06:42
【问题描述】:
我在一些代码中看到了这样的内容:
typedef int (*action)(va_list *);
并像这样使用它
action actions[256];
但是 typedef 作用于什么?我不明白,如果我不想在这里使用 typedef 我怎么能得到相同的结果?我尝试了很多方法来做到这一点,但没有人在工作
-
您拥有的是函数指针的 typedef。
-
typedef创建一个别名一种类型。做例如typedef int foo;有效,并创建符号foo作为int的别名。所示typedef为指向函数的指针创建别名,并将别名命名为action。 -
所以
actions是一个函数指针数组。当你把它们写出来时,它们会让人感到困惑,所以 typedef 是个好主意。 -
谢谢你的回复 !我知道 typedef 创建一个别名,但在这里,如果我不想使用 typedef 我应该写的东西,用这个例子?
-
int (*(actions[256]))(va_list *);现在你明白为什么别名更可取了。
标签: c