龙空技术网

C语言 学习笔记 6

明珠小时候 467

前言:

如今你们对“先学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