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*,说实话,实 ...
随机推荐
- webbreswer
为了帮助网友解决"怎么用C#的webBrowser模拟点击页面上的标签"相关的问题,中国学网通过互联网对"怎么用C#的webBrowser模拟点击页面上的标签" ...
- (转)OpenVPN使用HTTP代理连接服务器
原文地址:http://www.365mini.com/page/18.htm 在一些公司或者其他受限的网络环境中,使用的是HTTP代理服务器上网.在这种情况下,使用OpenVPN客户端可能无法连接服 ...
- js 取到相同的字符串 返回对应的下标
["aaa","aaa","","ddd","eee","eee"," ...
- react环境搭建
react-webpack文件夹是开发目录,在此目录下执行命令,假设你已经正确安装了 nodejs 一:参照教程搭建环境 https://github.com/newtriks/generator-r ...
- Golang在视频直播平台的高性能实践
http://toutiao.com/i6256894054273909249/ 熊猫 TV 是一家视频直播平台,先介绍下我们系统运行的环境,下面这 6 大服务只是我们几十个服务中的一部分,由于并发量 ...
- SQL Server 脚本语句
一.语法结构 select select_list [ into new_table ] from table_source [ where search_condition ] [ group by ...
- 特殊浮点值 Java
// Finite +-0.0 System.out.println("Finite with +-0.0:"); System.out.println("Finite ...
- Java_LIST使用方法和四种遍历arrayList方法
1.List接口提供的适合于自身的常用方法均与索引有关,这是因为List集合为列表类型,以线性方式存储对象,可以通过对象的索引操作对象. List接口的常用实现类有ArrayList和Linked ...
- [002] The Perks of Being a Wallflower - 读后记
The Perks of Being a Wallflower 今天(2015年10月30日 18:26:17)读完"The Perks of Being a Wallflower" ...
- mvc3.0ModelFirst生成实体
前沿 这几天想用mvc写点东西,mvc现在自己工作也不用,所以有些生.于是弄点视频研究一下.可能一些经常接触mvc的对这个问题看来,就是小kiss,但是我感觉自己研究出来了还是比较兴奋.在3.0根据模 ...