//该段代码的意思是生成指一个函数参数为字符串返回值是函数指针,然后函数指针指向的函数返回值为void类型,
//具体可以看成 void * (NSString *name) cMethod; void *这个整体看成返回类型(NSString *name)看成参数类型,cMethod看成是这个函数指针的指针变量。(可以这样理解,但是编译器识别不了,必须写成如下的格式)
static void * cMethod (NSString *name) {
return testPointer;
}
//这个代表了 函数参数为空返回值为(void *)的函数指针的这一类型函数
//可以理解为 (int , int ) -> int 和swift闭包一样的意思。只要参数为int类型并且返回值为int类型那么它就符合这种类型
typedef void (*Learn)(void);
static void block(bool a, Learn returnType) {
if (a == YES) {
returnType();
}else {
NSLog(@"错误");
}
}
static void testPointer () {
NSLog(@"这是调用了方法");
}
关于C语言函数指针
©著作权归作者所有,转载或内容合作请联系作者
- 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
- 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
- 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
推荐阅读更多精彩内容
- C语言是面向过程的,而C++是面向对象的 C和C++的区别: C是一个结构化语言,它的重点在于算法和数据结构。C程...
- 只有指针是可以运算(移动)的,数组名是不可以的。 int x[10]; x++; //illegal int* ...
- C语言指针导学(4)——分清函数指针和指针函数 http://blog.csdn.net/porscheyin/a...