我们前面学过指针,当然最基础的函数也学过。当两者结合起来运用的时候,会爆发怎样的化学反应呢?我们来看一个两者结合妙用的例子。代码如下:
#include <stdio.h>
//加法运算
int sum(int a,int b)
{
return a+b;
}
//减法运算
int minus(int a,int b)
{
return a-b;
}
//乘法运算
int mul(int a,int b)
{
return a*b;
}
//调用方法,随心所欲进行运算
void calculate(int (*p)(int ,int),int a,int b)
{
int result = (*p)(a,b);
//(*p)(a,b)也可以换成p(a,b); 这样就变成普通函数了。
printf("计算结果是:%d\n",result);
}
int main(int argc, const char * argv[]) {
//进行加法运算
calculate(sum,8,2);
//进行减法运算
calculate(minus,8,2);
//进行乘法运算
calculate(mul,8,2);
return 0;
}
上面代码中定义了加减乘三个函数,接收int类型的参数,返回int类型的值。另外,定义了带有两个int类型的形参int a,int b和一个指向函数的指针int (*p)(int , int);至于指向的函数是什么函数可以随意调用,这样就可以更好进行扩展。
好了,今天就学习这么多,好好理解掌握。