博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
回调函数实例——数学计算
阅读量:5101 次
发布时间:2019-06-13

本文共 1582 字,大约阅读时间需要 5 分钟。

#include
#include
/**************************************** * 函数指针结构体 ***************************************/typedef struct _OP{ float (*p_add)(float, float); float (*p_sub)(float, float); float (*p_mul)(float, float); float (*p_div)(float, float);} OP;/**************************************** * 加减乘除函数 ***************************************/float ADD(float a, float b){ return a + b;}float SUB(float a, float b){ return a - b;}float MUL(float a, float b){ return a * b;}float DIV(float a, float b){ return a / b;}/**************************************** * 初始化函数指针 ***************************************/void init_op(OP *op){ op->p_add = ADD; op->p_sub = SUB; op->p_mul = &MUL; op->p_div = ÷}/**************************************** * 库函数 ***************************************/float add_sub_mul_div(float a, float b, float (*op_func)(float, float)){ return (*op_func)(a, b);}int main(int argc, char *argv[]){ OP *op = (OP *)malloc(sizeof(OP)); init_op(op); /* 直接使用函数指针调用函数 */ printf("ADD = %f, SUB = %f, MUL = %f, DIV = %f\n", (op->p_add)(1.3, 2.2), (*op->p_sub)(1.3, 2.2), (op->p_mul)(1.3, 2.2), (*op->p_div)(1.3, 2.2)); /* 调用回调函数 */ printf("ADD = %f, SUB = %f, MUL = %f, DIV = %f\n", add_sub_mul_div(1.3, 2.2, ADD), add_sub_mul_div(1.3, 2.2, SUB), add_sub_mul_div(1.3, 2.2, MUL), add_sub_mul_div(1.3, 2.2, DIV)); return 0;}

  

转载于:https://www.cnblogs.com/CodeWorkerLiMing/p/11222261.html

你可能感兴趣的文章
计算剪贴板里仿制的代码行数
查看>>
MySQL索引背后的数据结构及算法原理
查看>>
#Leetcode# 209. Minimum Size Subarray Sum
查看>>
SDN第四次作业
查看>>
DM8168 DVRRDK软件框架研究
查看>>
django迁移数据库错误
查看>>
yii 跳转页面
查看>>
洛谷 1449——后缀表达式(线性数据结构)
查看>>
[最小割][Kruskal] Luogu P5039 最小生成树
查看>>
Data truncation: Out of range value for column 'Quality' at row 1
查看>>
Dirichlet分布深入理解
查看>>
(转)Android之发送短信的两种方式
查看>>
python第九天课程:遇到了金角大王
查看>>
字符串处理
查看>>
ECharts(Enterprise Charts 商业产品图表库)初识
查看>>
LeetCode Factorial Trailing Zeroes (阶乘后缀零)
查看>>
hdu 5402 Travelling Salesman Problem (技巧,未写完)
查看>>
[AIR] 获取U盘,打开U盘
查看>>
HtmlUnitDriver 网页内容动态抓取
查看>>
ad logon hour
查看>>