什么是
int(*compare)(void* argu1, void*argu2);
是什么意思?我从来没有见过这样的东西,它在我的二叉搜索树章节中并且在 BST 结构中:
typdef struct{
int counter;
int(*compare)(void* argu1, void*argu2);
NODE* root;
}BST;
最佳答案
这是一个名为compare
的变量,它是一个指向函数的指针。该函数返回一个 int
并接收两个 void *
参数。
函数指针经常用于提供一种方法来一般比较某些其他函数(例如排序或排序例程)不理解的类型的两个值;调用者提供一个函数来代表通用函数进行比较。
关于c - 语句含义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21763560/