c - 指向作为参数的函数的指针,使用 typedef

标签 c function pointers

我正在尝试创建使用指向函数的指针作为参数的代码,并且我必须使用 typedef。 我不是C专业人士。感觉我快到了,但我似乎找不到对函数指针语法的很好解释。

我有一个 fillArray 函数:

long fillArray(long *array, int x, int y) {
//
}

然后我想创建一个指向这个函数的指针的类型定义:

typedef long (*fArray)(long, int, int);

fArray pFill = fillArray;

我想将这个 pFill 赋给一个名为 doThis() 的函数:

int doThis (fArray pFill) {
  return 0;
}

并使用以下方式调用它:

int y = doThis(pFill);

我做错了什么?

最佳答案

你的 typedef 需要是:

typedef long (*fArray)(long *, int, int);
                            ^

关于c - 指向作为参数的函数的指针,使用 typedef,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7455401/

相关文章:

c - Linux:如何确定文件是否已被另一个进程更新?

C - 头文件与函数

c++ - 在 64 位系统上更大的指针有什么好处?

c++ - 集合类型的可变长度参数列表

c++ - 如何在 C++ 中推断函数参数类型?

C++ 指针转换

c++ - 在 C++ 中使用指针算法迭代类数据成员

c - 数组的最大索引及其在平台上的长度

c - 这里发生了什么? sizeof(short_int_variable + char_variable)

C 程序在 scanf 语句后没有响应