有些时候我们无法及时确定函数的处理逻辑,程序需要动态的改变,这时我们可以通过定义函数指针来实现。
举个🌰,我们有加法,乘法两个函数,如果还要一个除法我们怎么做,可能我们会想到,这好办,创建一个除法的函数,分分钟搞定。如果客户还要变怎么办?数据还是那些数据,只是函数的功能改变了。那有点太麻烦了。我们定义一个中间函数,其他函数作为指针参数传递进来,这样就可进行动态的处理了。
2017-04-24 21:15:38.204146+0800 zhizhenLianxi[1601:141357] 执行加法:
2017-04-24 21:15:38.204358+0800 zhizhenLianxi[1601:141357] 40,
2017-04-24 21:15:38.204412+0800 zhizhenLianxi[1601:141357] 执行乘法
2017-04-24 21:15:38.204429+0800 zhizhenLianxi[1601:141357] 400,
Program ended with exit code: 0
-------------------------------
如果我们要增加除法功能,只需要添加一个除法的函数即可
int chufa(int val)
{
return val/val;
//NSLog(@"%d",val/val);
}//chengfa over
----------结果-----
2017-04-24 21:35:46.236714+0800 zhizhenLianxi[1645:159476] 执行除法
2017-04-24 21:35:46.236742+0800 zhizhenLianxi[1645:159476] 1