前言:
如今你们对“先学c还是先学python”可能比较着重,大家都需要了解一些“先学c还是先学python”的相关内容。那么小编也在网摘上收集了一些有关“先学c还是先学python””的相关资讯,希望小伙伴们能喜欢,大家一起来学习一下吧!函数指针
很常用的一个实现方法,提供效率,嵌入式系统里很多实例,主要用在回调函数。
1.介绍
函数指针是指向函数的指针变量。
通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。
函数指针可以像一般函数一样,用于调用函数、传递参数。
函数指针变量的声明:
typedef int (*fun_ptr)(int,int);
// 声明一个指向同样参数、返回值的函数指针类型
示例
在 A 函数中将参数与 C 函数传递给 B 函数,B函数调用 C 函数;B 函数调用的动作称为回调,C 函数称为回调函数。
#include <stdio.h>// 回调函数avoid callback_a(int var_a){ printf("Call callback_a, var: %d\n\n", var_a);}// 回调函数bvoid callback_b(int var_b){ printf("Call callback_b, var: %d\n\n", var_b);}// 回调动作void callback_act(int x, void (*callback) (int var)){ printf("Call callback_act, var_x: %d\n\n", x); callback(x);}void main(){ int a = 1, b = 2; callback_act(a, callback_a); callback_act(b, callback_b); printf("Main program has done.");}
执行结果:
Call callback_act, var_x: 1Call callback_a, var: 1Call callback_act, var_x: 2Call callback_b, var: 2Main program has done.
仔细想想回调函数的作用完全可以通过普通函数来达到,其实回调函数最大的意义在于解耦,降低了代码之间的耦合度。
示例 2
大家学会了吗?欢迎讨论,共同进步。
#c#
#先学C语言好还是Python好呢#
#编程#
标签: #先学c还是先学python