- C——函数指针
- 函数和变量
- 在解释什么是函数指针之前,先阐述一下函数名和变量的的关系
- 函数名和变量在指针方面有点相似,
- 举个例子更加说明情况
- void (*fun)(char ) //声明 函数指针
- void fun1(char) //函数
- 函数指针的几种调用
- fun=fun1;
- fun=&fun1;
- (*fun1)('a');
- 声明 函数指针类型
- typedef void (*fun)(char) //声明函数指针类型
- void fun1(void ) ;
- fun fun2;//声明 函数变量
- fun2=fun1;
- 函数传参类型为函数类型
- void fun2(fun a);
- void fun fun3;
- void fun2(fun3);
- 函数和变量
- C——函数注册和回调
- 函数注册
- typedef void (*fun)(char)
- void RegisterEven(int ID,fun fun1 )
- {
- fun fun2;
- if(ID==0) fun2=fun1;
- }
- 函数回调
- fun2('a');
- 函数的注册和回调 一般会用到数组
- fun Fun[3]={NULL,NULL,NULL)
- void fun3(char ss)
- { printf("%c",ss);}
- void RegisterEven(int ID,fun a)
- {
Fun[0]=a; - }
- RegisterEven(0,fun3);
- Fun[0]("A"); //回调
- C++里也有函数注册和回调,我会提领写一篇C++的相关内容。
- 函数注册
- C——指针函数
- 指针函数为函数的返回类型为指针类型
- int * fun(char *,int)
- 指针函数为函数的返回类型为指针类型