【发布时间】:2018-11-07 15:57:44
【问题描述】:
我正在尝试找出以下代码。 特别是与函数typedef相关的部分。
#include <stdio.h>
void foo1(int var1, int var2); // foo1 decleration
typedef void (foo2)(int var1, int var2); // what is this exactly?
typedef struct somestruct{
foo2* somefunc;
}SOMESTRUCT;
int main()
{
SOMESTRUCT struct1;
struct1.somefunc = &foo1;
struct1.somefunc(1,5);
return 0;
}
void foo1(int var1, int var2){
printf("this is function inside struct var1 = %d var2 = %d",var1, var2);
}
【问题讨论】:
-
typedef 创建一个类型 SOMESTRUCT。您声明一个实例 struct1。您在 struct1 中设置函数,然后调用它。
-
这篇文章的答案可能对stackoverflow.com/questions/1591361/…有帮助