- 论坛徽章:
- 0
|
本帖最后由 nanjingnew4 于 2011-11-22 15:09 编辑
回复 26# digdeep126 - #include<stdio.h>
- #include <assert.h>
- double GetMin(double *dbData, int iSize) // 求最小值
- {
- double dbMin;
- int i;
- assert(iSize>0);
- dbMin=dbData[0];
- for (i=1; i<iSize; i++){
- if (dbMin>dbData[i]) {
- dbMin=dbData[i];
- }
- }
- return dbMin;
- }
- typedef double (*PF)(double *dbData, int iSize); // 定义函数指针类型
- PF GetOperation(char c) // 根据字符得到操作类型,返回函数指针
- {
- switch (c)
- {
- case 'd':
- return GetMin;
- }
- }
- int main(void)
- {
- double dbData[]={3.1415926, 1.4142, -0.5,999, -313, 365};
- int iSize=sizeof(dbData)/sizeof(dbData[0]);
- char c;
- printf("Please input the Operation :\n");
- c=getchar();
- printf("result is %lf\n", GetOperation(c)(dbData,iSize)); // 通过函数指针调用函数
- }
复制代码 因为我看了别人写函数指针的一段代码,所以再看你说的,有点犯晕
而且void my_sort(void *data, int length, int size, compare compareFunc)是不是可以写成这样
void my_sort(void *data, int length, int size, int (*compareFunc(const void *,const void *))(const void *,const void *)) |
|