我试图理解以下 typedef 的含义。它们是函数指针吗?
typedef int Myfunc(char *);
static Myfunc myfunc;
int myfunc(char *string)
{
printf("%s\n", string);
return 0;
}
我知道 typedef int Myfunc(char *)
意味着 func Myfunc
返回一个整数,就这样,好吗?我想,下一个语句,如何调用myfunc
?应该是这样static Myfunc *myfunc
,意思是函数指针,不是吗?
最佳答案
第二行是函数的声明,而不是函数指针。该函数的类型为 MyFunc
,称为 myfunc
,并且具有静态链接:这意味着该函数不可用于编译成的其他源文件同一个对象。
关于c - 这些函数类型定义是什么意思?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8285751/