void (*fun)(void);什么意思?
2440test程序中的Main.c中在结构体中有这么一句:
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"}, { , } };
void (*fun)(void);什么意思?的更多相关文章
- 如何理解typedef void (*pfun)(void)
问题: 在刚接触typedef void (*pfun)(void) 这个结构的时候,存在疑惑,为什么typedef后只有一"块"东西,而不是两"块"东西呢?那 ...
- [转载]void及void*的深度剖析
void的含义 void即"无类型",void *则为"无类型指针",可以指向任何数据类型. void指针使用规范 ①void指针可以指向任意类型的数据,亦即可 ...
- void和void*
void的含义 void即“无类型”,void *则为“无类型指针”,可以指向任何数据类型. void指针使用规范①void指针可以指向任意类型的数据,亦即可用任意数据类型的指针对void指针赋值.例 ...
- void与void *
转载:http://blog.csdn.net/geekcome/article/details/6249151 void的含义 void即“无类型”,void *则为“无类型指针”,可以指向任何数据 ...
- 【转】 void与void*详解
void关键字的使用规则: 1. 如果函数没有返回值,那么应声明为void类型: 2. 如果函数无参数,那么应声明其参数为void: 3. 如果函数的参数可以是任意类型指针,那么应声明其参数为void ...
- (七)C语言中的void 和void 指针类型
许多初学者对C中的void 和void 的指针类型不是很了解.因此常常在使用上出现一些错误,本文将告诉大家关于void 和void 指针类型的使用方法及技巧. 1.首先,我们来说说void 的含义: ...
- typedef void (*funcptr)(void)
定义一个函数指针类型.比如你有三个函数:void hello(void) { printf("你好!"); }void bye(void) { printf("再见!&q ...
- C/C++语言void及void指针深层探索(转)
转自:http://www.lanou3g.com/blog/sort/SelfiOS/page/78 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一 ...
- void指针(void*)用法
首先看一段测试代码: #include <stdio.h> int void_test(void* data) { ; num = *(int*)data; printf("nu ...
- void、void*以及NULL
void.void*以及NULL 写在前面 在使用C++的过程中,void和NULL用到的频率挺高的,但是从来没有去探索过这两个关键字的联系和区别,也没有对它们做更多的探索.对于void*,说实话,实 ...
随机推荐
- sql 游标循环遍历
写存储过程的时候碰到一个需要对数据进行遍历循环操作的问题,最后通过游标解决了,感觉很适用. declare @level varchar() declare @uid varchar() declar ...
- 20160406javaweb 之JDBC简单案例
前几天写的user注册登录注销案例,没有用到数据库,现在做出改动,使用数据库存储信息: 一.首先我们需要建立一个数据库: 如下图: 创建数据库的代码如下: -- 导出 database02 的数据库结 ...
- 一个transaction异常的处理
11-16 14:13:47.715: W/dalvikvm(16771): threadid=1: thread exiting with uncaught exception (group=0x4 ...
- 本机Font字体
void getFontList() { GraphicsEnvironment ge = GraphicsEnvironment.getLocalGraphicsEnvironment(); Str ...
- 学习笔记_Java get和post区别(转载_GET一般用于获取/查询资源信息,而POST一般用于更新资源信息)
转载自:[hyddd(http://www.cnblogs.com/hyddd/)] 总结一下, Get是向服务器发索取数据的一种请求 而Post是向服务器提交数据的一种请求,在F ...
- OC - 11.使用Quartz2D剪裁图片并保存
实现效果 操作步骤 绘制一个矩形框,弹出一个alertView,提示是否保存图片 点击"是",将图片保存到相册 在相册中查看保存的图片 效果图 实现思路 在控制器的view上添加一 ...
- C#中运用事件实现异步调用
问题引出: winform程序中的耗时操作,一般不能在UI线程中执行,需要另开线程.往往我们需要在耗时操作结束后将结果显示在UI上. 以下是Mainform.cs中调用耗时操作的一段代码: Job j ...
- python相关博客
入门:http://www.pythontip.com/ Python之禅--大道至简 美胜于丑,显胜于隐,简胜于繁,繁胜于杂,平胜于迭,疏胜于密,读胜于写...名可名, 请常名 http://www ...
- 移动端开发(使用webuploader上传图片,客户端交互,修改alert弹窗等)
之前实习做的一个移动端的页面 需要的功能有图片上传 点击客户端的返回按钮 有提示(即与客户端有交互) 遇到不少的坑 总结一下问题 1.图片上传功能 使用工具 百度的webuploader 暂时遇到的 ...
- React新接触
html5页面的开始引入: <script src="../build/react.js"></script> <!--核心库--> < ...