关于C语言函数指针

//该段代码的意思是生成指一个函数参数为字符串返回值是函数指针,然后函数指针指向的函数返回值为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(@"这是调用了方法");
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容