我正在尝试创建使用指向函数的指针作为参数的代码,并且我必须使用 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/