C语言函数作为参数的使用方法

⌚Time: 2022-12-27 14:29:56

👨‍💻Author: Jack Ge

一般的形式为: func(T (*func)(V args))

使用的时候,直接使用对应参数类型的函数名即可

函数的名字就是指向内存函数开始执行时的指针,因此可以直接进行赋值

通过传入不同函数作为参数,可以调用不同函数实现不同的功能


#include <stdio.h>

int select_max(int numArray[10]){

    int iMax = numArray[0];

    int i = 0;

    for(i=0;i<10;i++){

        if(iMax<numArray[i]){

            iMax = numArray[i];

        }

    }

    return iMax;

}

int select_min(int numArray[10]){

    int iMin = numArray[0];

    int i = 0;

    for(i=0;i<10;i++){

        if(iMin>numArray[i]){

            iMin = numArray[i];

        }

    }

    return iMin;

}

int select(int numArray[10],int (*func)(int[])){

    return func(numArray);

}

int main(){

    int array[10] = {1,3,2,4,0,9,8,5,6,7};

    printf("max number of array is :%d\n",select(array,select_max));

    printf("min number of array is :%d\n",select(array,select_min));

    return 0;

}