C传递函数指针

传递函数指针很简单,只要把函数指针声明作为函数参数即可。我们会用下面这个例子中的addsubcompute函数来说明如何传递函数指针:

int add(int num1, int num2) {
    return num1 + num2;
}

int subtract(int num1, int num2) {
    return num1 - num2;
}

typedef int (*fptrOperation)(int,int);

int compute(fptrOperation operation, int num1, int num2) {
    return operation(num1, num2);
}

下面的代码片段说明如何使用这些函数:

printf("%d\n",compute(add,5,6));
printf("%d\n",compute(subtract,5,6));

输出是11和-1。addsub函数的地址被传递给compute函数,后者使用这些地址来调用对应的操作。本例也说明了使用函数指针可以让代码变得更灵活。

赞(3)

评论 抢沙发

评论前必须登录!

 

C指针