1
该语法是否正确?指向C中功能的指针
cmp
是指向函数的指针。在我的程序中的一切工作正常,但:
- 看!当我在函数中声明
cmp
时,我没有使用*
。为什么我的代码工作? - 当我用
int (*cmp)
声明它时,一切都很好。
这是怎么回事?
RangeTreeP createNewRangeTree(Element participateWorkers[], int arrsize,
int cmp(ConstElement, ConstElement))
它不应该是:
RangeTreeP createNewRangeTree(Element participateWorkers[], int arrsize,
int (*cmp)(ConstElement, ConstElement))
?
这个createNewRangeTree
函数的调用是:
createNewRangeTree(tempArr, NUM_PAR, &teacherCmpSalary)
和teacherCmpSalary
是一个普通的功能,看起来像这样:
int teacherCmpSalary(ConstElement c1, ConstElement c2)