void (*fun)(void);

查阅资料得知这句代码的意思是:

定义一个函数指针。

比如:定义一个指向函数的指针,该函数有一个整形参数并返回一个整型值

int(*fun)(int);

再比如原来函数是void func(void);

那么定义的函数指针类型就是:

typedef void(*Fun)(void);

然后用此类型生成一个指向函数的指针。

原文摘录:

struct {

void (*fun)(void);//定义函数指针,返回值和参数都是void类型

char *tip;

}CmdTip[] = {

{ Temp_function, "Please input 1-16 to select test" } ,

{ BUZZER_PWM_Test, "Test PWM" } ,

{ RTC_Display, "RTC time display" } ,

{ Test_Adc, "Test ADC" } ,

{ KeyScan_Test, "Test interrupt and key scan" } ,

{ Test_Touchpanel, "Test Touchpanel" } ,

{ TFT_LCD_Test, "Test TFT-LCD or VGA1024x768 module" } ,

{ Test_Iic, "Test IIC EEPROM, if use QQ2440, please remove the LCD" } ,

{ PlayMusicTest, "UDA1341 play music" } ,

{ Test_SDI, "Test SD Card" } ,

{ Camera_Test, "Test CMOS Camera"},

{ 0, 0}

};

void (*fun)(void);什么意思?相关推荐

  1. typedef interrupt void (*PINT)(void)的分析

    今天写程序时,在DSP2833x_PieVect.h看到typedef interrupt void (*PINT)(void)突然一愣,上网查了下发现在这是加了interrupt 中断关键字的函数指 ...

  2. [转]C/C++语言void及void指针深层探索

    1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧. 2 ...

  3. IAR中断定义#pragma vector = P0INT_VECTOR __interrupt void P0_ISR(void)啥意思?

    在CC2530芯片中用到IAR中断定义: #pragma vector = P0INT_VECTOR __interrupt void P0_ISR(void) 在 IAR 编译器里用关键字来t __ ...

  4. C/C++语言void及void指针深层探索 .

    1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一些错误.本文将对void关键字的深刻含义进行解说,并详述void及void指针类型的使用方法与技巧. 2 ...

  5. C/C++中的函数中的void和void* 理解

    C/C++中的void和void* 一.void void关键字表示"空类型"的概念.但是,这里的"空类型"不表示"任意类型",而是表示不存 ...

  6. void和void*详解 v2

    void的含义 void即"无类型",void *则为"无类型指针",可以指向任何数据类型. void指针使用规范 ①void指针可以指向任意类型的数据,亦即可 ...

  7. void与void*详解

    void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型: 2. 如果函数无参数,那么应声明其参数为void: 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void ...

  8. typedef void(*Fun)(void);

    今天在SDK中看到了这么个写法: typedef void(CALLBACK *DisplayCBFun)(long nPort,char *pBuf,long nSize,long nWidth,l ...

  9. static void SetSysClockTo72(void)的一些理解

    static void SetSysClockTo72(void) { __IO uint32_t StartUpCounter = 0, HSEStatus = 0; /* SYSCLK, HCLK ...

  10. 面试官:说说Java中java.lang.Void和void有什么作用和区别?

    点击上方"朱小厮的博客",选择"设为星标" 后台回复"加群",加入皮皮专属交流群 来源:http://suo.im/5p28k2 void关 ...

最新文章

  1. 【网络流24题】解题报告:K、航空路线问题(最小费用最大流)
  2. 如何利用C/C++逐行读取txt文件中的字符串(可以顺便实现文本文件的复制)
  3. CONVT_NO_NUMBER
  4. 视觉SLAM学习--视觉定位比赛(CVPR2020)
  5. boost创建线程池_Java并发 之 线程池系列 (1) 让多线程不再坑爹的线程池
  6. 服务器数据缓存文件实现,跨域与缓存
  7. 关于通过反汇编查看dll的方法【转】(
  8. JavaScript中forEach、for-in、for-of循环的比较
  9. npm install 报错(npm ERR! errno -4048,Error: EPERM: operation not permitted,)解决方法
  10. python设置excel的格式_python 操作Excel 设置格式
  11. 关于极限编程简单介绍
  12. 深度思考:广州互联网气氛为何远远落后于北京
  13. 《自己动手写cpu》读书笔记
  14. html导航条背景颜色代码,div+css实现鼠标经过背景高亮的导航菜单代码
  15. 【英语语法入门】第44讲 假设(03)与过去事实相反的虚拟语气
  16. 盘点8个高效方法提高睾酮水平
  17. 心电电路算法滤波_心电仪滤波
  18. Kibana:更有效地构建 Kibana 仪表板 - 7.12 发布
  19. 【转】perl中$#ARGV是什么意思
  20. 外贸人必备的实用工具

热门文章

  1. Python批量采集商品数据并使用多线程(含完整源码)
  2. OpenGL蓝宝书源码学习(准备工作)
  3. SEO实战干货:利用高权重网站借力操作关键词快速排名!
  4. C语言:凯撒密码的实现
  5. oracle network_link,使用network_link复制Oracle数据库
  6. 传智播客JAVA培训20100524SPRING SECURITY
  7. mysql数据库linux_Linux平台安装配置MySQL数据库
  8. rs232读取智能电表_智能电表工作原理及抄表原理图
  9. matlab实现k-l算法,K均值聚类算法的MATLAB实现
  10. 材料科学计算机械类可以一起学吗,《材料科学与工程基础》第5版--中文翻译.pdf...