您的位置:首页 > 其它

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

2015-10-26 15:45 190 查看
---------------  main.m  ---------------

#import <Foundation/Foundation.h>

void map(int*
data , int len , int (*fn)())

{

    for(int*
p = data ; p < data + len ; p++)

    {

        printf("%d,",
(*fn)(*p));

    }

    printf("\n");

}
int noChange(int val)

{

    return val;

}

int square(int val) // 计算平方

{

    return val * val;

}

int cube(int val)// 计算立方

{

    return val * val * val;

}
int main()

{

    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函数也因此变得不同。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: