博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
函数指针使用演示样例(參考Linux-内核代码)
阅读量:5762 次
发布时间:2019-06-18

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

本文有xhz1234(徐洪志)编写,转载请注明出处。

作者:徐洪志 

近期阅读Linux-内核代码。发现非常多地方使用了函数指针,遂自己写一个演示样例程序。以供參阅:

#include 
#include
#define ADDONE 0#define MINUSONE 1#define S_OK 0#define S_ERR -1typedef int(*dir_fn)(int *data); //函数指针//实际函数1int add_func(int *data){ (*data)++; return S_OK;}//实际函数2int minus_func(int *data){ (*data)--; return S_OK;}//核心:依据參数cmd,获取相应的funcdir_fn lookup_ctl(int cmd){ dir_fn fn = NULL; switch(cmd) { case ADDONE: fn = add_func; break; case MINUSONE: fn = minus_func; break; default: break; } return fn;}int main(void){ int data = 100; int cmd = -1; dir_fn fn = NULL; printf("Input the cmd<0 add, 1 minus>\n"); scanf("%d", &cmd); fn = lookup_ctl(cmd); fn(&data); printf("Result is: %d\n", data); return 0;}

本文有xhz123(徐洪志)编写,转载请注明出处。

作者:徐洪志 

转载于:https://www.cnblogs.com/yutingliuyl/p/6792318.html

你可能感兴趣的文章
Java EE (5) -- Java EE 6 JavaServer Faces Developer Certified Expert(1z0-896)
查看>>
【玩转开源】BananaPi R2 —— 第三篇 基于Openwrt开发一个简单的路由器
查看>>
(生产)vue-lazyload - 图片延迟加载
查看>>
被人遗忘的MAX_FILE_SIZE文件上传限制大小参数
查看>>
python数据类型
查看>>
隐藏index.php
查看>>
CF 590D Top Secret Task【dp递推+滚动数组】【好题】
查看>>
守望者的逃离
查看>>
关于STM32单片机GPIO口上拉与下拉输入
查看>>
【学习笔记】python2的print和python3的print()
查看>>
UVA 10462 Is There A Second Way Left?(次小生成树&Prim&Kruskal)题解
查看>>
Android Studio快捷键快速入门
查看>>
PHP打印金字塔---自己的实践练习题目
查看>>
vue.js学习笔记(二):如何加载本地json文件
查看>>
CRM系统如何帮助企业实现互联网+?
查看>>
CDH离线安装之安装包下载地址
查看>>
UITextView 添加 pleaceholder
查看>>
循环列表的实现
查看>>
年会,好不好?
查看>>
[工具]推荐一款查看dll依赖工具
查看>>