c--函数指针,函数指针数组,回调函数
2018-03-22 19:06
246 查看
函数指针:
概念:指向函数的指针;
例子:
int fun(int x);
声明一个函数指针:
int (*fp)(int x);
将fun的首地址赋值给fp:
fp = fun; 或fp = &fun;
调用:
int ret = (*fp)(arg1, arg2);
指针函数:
概念:返回值是指针的函数。
函数指针数组:
概念:数组元素全是函数指针的数组
声明:int ( *fp [ 3 ] ) ( int x );
fp这个数组里面的元素是三个返回值为int, 参数为1个int的函数的地址。
函数指针数组(转移表)的使用:
int (*fp[4])(int arg1, arg2) = {add, sub, mul, div};
scanf("%d", &option);
int ret = fp[option](int arg);
指向函数指针数组的指针
概念:一个指针指向的是一个元素都是函数指针的数组。相当于数组指针。
声明:int * ( *fp ) [ 4 ](int arg);
回调函数的使用 :
函数的参数为函数指针,这个指针指向的函数就是回调函数。
在使用时,只需要在函数调用地方传入函数名就可以了。
概念:指向函数的指针;
例子:
int fun(int x);
声明一个函数指针:
int (*fp)(int x);
将fun的首地址赋值给fp:
fp = fun; 或fp = &fun;
调用:
int ret = (*fp)(arg1, arg2);
指针函数:
概念:返回值是指针的函数。
函数指针数组:
概念:数组元素全是函数指针的数组
声明:int ( *fp [ 3 ] ) ( int x );
fp这个数组里面的元素是三个返回值为int, 参数为1个int的函数的地址。
函数指针数组(转移表)的使用:
int (*fp[4])(int arg1, arg2) = {add, sub, mul, div};
scanf("%d", &option);
int ret = fp[option](int arg);
指向函数指针数组的指针
概念:一个指针指向的是一个元素都是函数指针的数组。相当于数组指针。
声明:int * ( *fp ) [ 4 ](int arg);
回调函数的使用 :
函数的参数为函数指针,这个指针指向的函数就是回调函数。
在使用时,只需要在函数调用地方传入函数名就可以了。
相关文章推荐
- 函数指针,函数指针数组,以及回调函数(函数指针做函数参数)
- 函数指针与函数数组指针
- (转载)函数指针及函数指针数组的妙用
- 理解指针数组、数组指针、函数指针、函数指针数组、指向函数指针数组的指针
- C/C++ 不带参数的回调函数 与 带参数的回调函数 函数指针数组 例子
- (转载)函数指针及函数指针数组的妙用
- 函数指针与函数指针数组的定义与使用
- 指针数组 数组指针 函数指针 函数指针数组
- 函数指针与函数指针数组的使用方法
- C/C++ 一段代码区分数组指针|指针数组|函数指针|函数指针数组
- 关于函数指针数组与返回数组指针的函数
- c语言:数组指针,指针数组,函数指针,函数指针数组,指向函数指针数组的指针
- 函数指针与函数指针数组的使用方法
- 对指针数组,数组指针,函数指针数组,函数数组指针的一些简单理解
- 进阶指针与数组——函数指针,函数指针数组等
- 数组指针,指针数组,函数指针,函数指针数组,函数指针数组指针
- 理解 指针数组 数组指针 函数指针 函数指针数组 指向函数指针数组的指针
- 指针数组,数组指针,函数指针,函数指针数组,指向函数指针数组的指针
- 返回类型是函数指针的函数指针 类比复杂的数组声明
- 个人理解:关于指针数组、数组指针、函数指针、函数指针数组、函数指针数组指针