首页 > 其他分享 >嵌入式之函数指针和回调函数

嵌入式之函数指针和回调函数

时间:2024-03-04 14:44:19浏览次数:36  
标签:typedef 函数 int 嵌入式 add 函数指针 指针

概念

函数指针即指向函数的指针
通常我们说的指针变量是指向一个整型、字符型或数组等变量,而函数指针是指向函数。

函数指针可以像一般函数一样,用于调用函数、传递参数。

函数指针的定义方式为:

函数返回值类型 (* 指针变量名) (函数参数列表);
int (*p)(int a, int b)

作用

一是可以作为参数传递给另一个函数;回调函数:将一个函数指针作为参数传递给其它函数。后者将“回调”用户函数。
关于typedef 函数指针的用法


int add(int a, int b) {
    return a + b;
}

typedef int (PTypeFun1)(int, int); // 声明一个函数类型
typedef int (*PTypeFun2)(int, int); // 声明一个函数指针类型  PtypeFun2变成了类型
int (*padd)(int, int); // 传统形式,定义一个函数指针变量 ,这里只是一个指针

int main() {
    PTypeFun1 *pTypeAdd1 = add;
    PTypeFun2 pTypeAdd2 = add;
    padd = add;
    cout << pTypeAdd1(1, 2) << endl;
    cout << pTypeAdd2(1, 2) << endl;
    cout << padd(1, 2) << endl;
    return 0;

标签:typedef,函数,int,嵌入式,add,函数指针,指针
From: https://www.cnblogs.com/codedingzhen/p/18047145

相关文章

  • 农村高中生源转型期提升学生二次函数建模能力的课堂探究
     在高中数学教学期间,涉及到函数模型、几何模型、向量模型、方程模型、不等式模型、最值模型等等,这些都可以成为训练学生数学建模能力的重要题型,所以可以结合不同类型的数学模型构建思路,选择具体的实例,为学生科学地设计一些数学问题,使他们可以在构建函数模型和最值模型等基本数学......
  • 使用setmetatable和__call元方法来实现根据字符串名字调用对应的函数
    cc.lualocalCMD={}--定义两个函数functionCMD.func1()print("Function1called")endfunctionCMD.func2()print("Function2called")endreturnCMD test.lualocalfunctions=require"cc"--设置表的元表和__call元方法se......
  • 【TensorFlow】分析模型常用函数
    常用函数获取模型输入节点信息importtensorflowastffromtensorflow.python.toolsimportsaved_model_utilsmodel_dir='model_dir'meta_graph_def=saved_model_utils.get_meta_graph_def(model_dir,tf.saved_model.SERVING)signatures=meta_graph_def.signatu......
  • python之为函数执行设置超时时间(允许函数执行的最大时间)
    1、背景    通常我们在自定义一个函数后,会调用这个函数来完成我们想要的功能。  就拿爬虫来举例,发送请求后服务器会在指定时间内响应(通常这个时间很短),但是有可能服务器没有返回任何数据。  无论是服务器已经识别爬虫不予返回数据亦或者是服务器繁忙等其他原因,......
  • go 函数
    //字符串的使用str:="golang你好"//字符串长度fmt.Println(len(str))//循环输出fork,v:=rangestr{fmt.Printf("索引为:%d,具体值为:%c\n",k,v)}//以切片循环展示r:=[]rune(str)fori:=0;i<len(......
  • 内置常用函数
    Python的内置函数Python提供了一系列的内置函数,可以直接使用,无需导入任何模块。abs:绝对值函数print(abs(-1))#输出:1print(abs(100))#输出:100round:四舍五入"""这种舍入方式的目的是为了使舍入后的结果更加公平和一致。当小数部分为.5时,它有可能靠近两个整数,即......
  • C++ 接口(抽象类) 虚函数
    接口描述了类的行为和功能,而不需要完成类的特定实现。C++接口是使用抽象类来实现的,抽象类与数据抽象互不混淆,数据抽象是一个把实现细节与相关的数据分离开的概念。如果类中至少有一个函数被声明为纯虚函数,则这个类就是抽象类。纯虚函数是通过在声明中使用"=0"来指定的clas......
  • 初识IO ,系统调用和库函数
    IO知识最先接触的IO#include<stdio.h>stdio标准的输入输出///标准IOprintf/scanf就是标准的IO接口(API)什么是标准IO什么是文件IO文件IO是系统调用标准IO是库函数什么是系统调用什么是库函数系统调用(posix):用户空间(0-3G)进入内核空间(4G)一次就叫做一次......
  • MySQL之视图、触发器、存储过程、函数和流程控制
    视图什么是视图视图就是通过查询得到一张虚拟表,然后保存下来,下次可以直接使用其实视图也是表为什么要用视图如果要频繁的操作一张虚拟表(拼表组成的),你就可以制作成视图,后续直接操作如何操作#固定语法createview表名as虚拟表的查询SQL语句#具体操作create......
  • mainCRTStartup 函数解析
    mainCRTStartup函数解析 操作系统装载应用程序后,做完初始化工作就转到程序的入口点执行。程序的默认入口点由连接程序设置,不同的连接器选择的入口函数也不尽相同。在VC++下,连接器对控制台程序设置的入口函数是mainCRTStartup,mainCRTStartup再调用main函数 mainCRTStartu......