指向函数的指针使用问题

The C Programing Language
Page 119

其中有个快排的函数定义

void qsort(void *lineptr[],int left,int right, int (*comp)(void *, void *));

在后面的调用中是:

qsort((void **) lineptr, 0 , nlines-1,
(int (*)(void*, void*))(numeric ? numcmp : strcmp));

numeric是一个标志,表示该次排序针对的对象是数字还是字符串

这里 numcmp, strcmp 均为 int 类型的函数~
这里是如何给 comp 赋值的啊?

能说明说明么?
[411 byte] By [huntrose] at [2008-1-9]
# 1
如果numeric 为真,则采用numcmp函数来比较,如果不是
则采用strcmp来比较

(int (*)(void*, void*))你只要知道它是个类型就可以了
YeTimmy at 2007-10-19 > top of Msdn China Tech,C/C++,C语言...
# 2
哦…… 哦~~ 回味一下了来~
原来是在这样…… 谢谢啊~
huntrose at 2007-10-19 > top of Msdn China Tech,C/C++,C语言...
# 3
若使用这个:
typedef int (*comp)(void *, void *);

调用就似乎更清晰了:
qsort((void **) lineptr, 0 , nlines-1,
(comp)(numeric ? numcmp : strcmp));

comp明显就是类型了.