080.Function Pointer Arg 函数指针作为函数参数
2015-07-19 01:26
162 查看
---------------
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函数也因此变得不同。
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函数也因此变得不同。
相关文章推荐
- 如何查看源码
- 078.Char Pointer Arg 字符指针作为函数参数
- JAVA基础_Java IO流 控制台到记事本、记事本到控制台及详解
- 076.Pointer Two Array 指向多维数组的指针
- 077.Char Pointer String 用指针表示字符串
- linux下svn的用法小结
- IOC----LightInject
- CD多线程的使用(三)
- [leetcode] 204.Count Primes
- 正确理解ThreadLocal,线程私有
- SQlife(数据库)
- oracle账号
- Spring依赖注入的几种实现方式
- eclipse.ini
- 075.Quick Sort 快速排序
- Android Studio AIDL 自定义类型找不到问题
- SQLServer检查表字段是否存在,不存在则创建的脚本
- 074.Traverse Array 遍历数组的常见错误
- 073.Traverse Array 遍历数组简化版
- 阿里云 centos ftp搭建以及与phpstorm结合使用