回调函数

来源:互联网 发布:苏联数学 知乎 编辑:程序博客网 时间:2024/06/07 00:07
// 01.cpp : Defines the entry point for the console application.//#include "stdafx.h"#include <stdio.h>//方法指针的格式为:int (*ptr)(char *p) 即:返回值(指针名)(参数列表) typedef int (*CallBackFun)(char *p);    //为回调函数命名,类型命名为 CallBackFun,参数为char *p                                       //方法 Afun,格式符合 CallBackFun 的格式,因此可以看作是一个 CallBackFun   int Afun(char *p) {     printf("Afun 回调打印出字符%s!\n", p);       return 0; }  int Cfun(char *p) {       printf("Cfun 回调打印:%s, Nice to meet you!\n", p);       return 0; }  int call(CallBackFun pCallBack, char *p) {       printf("call 直接打印出字符%s!\n", p);       pCallBack(p);       return 0; } // 执行回调函数,方式二:直接通过方法指针    int call2(char *p, int (*ptr)(char *))  //或者是int call2(char *p, int (*ptr)(char *)) 同时ptr可以任意取名 {     printf("==============\n%s\n", p);        ptr(p); // <<===>> (*ptr)(p);return 0;} int main(int argc, char* argv[]){char *p = "hello";     call(Afun, p);       call(Cfun, p);     call2(p, Afun);       call2(p, Cfun); return 0;}

0 0
原创粉丝点击