080.Function Pointer Arg 函数指针作为函数参数

来源:互联网 发布:js继承例子 编辑:程序博客网 时间:2024/06/05 05:41
---------------  main.m  ---------------
#import<Foundation/Foundation.h>

voidmap(int* data ,intlen , int (*fn)())
{
   for(int* p = data ; p < data + len ; p++)
    {
       printf("%d,", (*fn)(*p));
    }
   
printf("\n");
}
intnoChange(intval)
{
   
return val;
}
intsquare(intval) //计算平方
{
   
return val * val;
}
intcube(intval)//计算立方
{
   
return val * val * val;
}
intmain()
{
   int data[] = {20,12,8,36,24};
   map(data ,5 , noChange);
   
NSLog(@"计算数组元素平方");
   
map(data ,5 , square);
   
NSLog(@"计算数组元素立方");
   
map(data ,5 , cube);
}

一、编写本节代码的具体步骤:
1.参照003节的代码编写步骤。

二、本节代码涉及到的知识点:
1.map函数的第三个参数是一个指向函数的指针。
2.每次调用map函数时,可以动态传入一个函数,传入的函数不同,map函数也因此变得不同。
0 0
原创粉丝点击