c - 这些函数类型定义是什么意思?

标签 c function-pointers typedef

我试图理解以下 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/

相关文章:

c - 我怎样才能 typedef 一个函数指针,它接受一个自己类型的函数作为参数?

c - C 中的运行时条件 typedef

python - 将其他 Cython 绑定(bind)对象传递给 Cython 绑定(bind)对象上的方法

c - 在我自制的 shell 中添加键盘快捷键

c - 指向接受 int 参数并返回 void 的函数指针数组的指针

c - 使用函数指针作为方法参数

c++ - 为什么只有指向函数的指针而不是函数的var?

c++ - 如何使用 typedef 或内联在 C++ 中调用此 x86 ASM CALL

python - 使用 swig 包装自定义哈希表

c++ - doxygen 一次注释多个变量