使用typedef作为参数的指针

sal*_*per 1 c pointers function

我正在尝试创建使用指针函数作为参数的代码,我必须使用typedef.我不是C专业人士.感觉就像我到了那里,但我似乎无法找到对函数指针语法的一个很好的解释.

我有一个函数fillArray:

long fillArray(long *array, int x, int y) {
//
}
Run Code Online (Sandbox Code Playgroud)

然后我想创建一个指向此函数的指针的typedef:

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

fArray pFill = fillArray;
Run Code Online (Sandbox Code Playgroud)

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

int doThis (fArray pFill) {
  return 0;
}
Run Code Online (Sandbox Code Playgroud)

并使用以下方法调用它

int y = doThis(pFill);
Run Code Online (Sandbox Code Playgroud)

我究竟做错了什么?

Oli*_*rth 5

你的typedef需要是:

typedef long (*fArray)(long *, int, int);
                            ^
Run Code Online (Sandbox Code Playgroud)