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"},
    { 0, 0}      
   };

void (*fun)(void);的更多相关文章

  1. 如何理解typedef void (*pfun)(void)

    问题: 在刚接触typedef void (*pfun)(void) 这个结构的时候,存在疑惑,为什么typedef后只有一"块"东西,而不是两"块"东西呢?那 ...

  2. [转载]void及void*的深度剖析

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

  3. void和void*

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

  4. void与void *

    转载:http://blog.csdn.net/geekcome/article/details/6249151 void的含义 void即“无类型”,void *则为“无类型指针”,可以指向任何数据 ...

  5. 【转】 void与void*详解

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

  6. (七)C语言中的void 和void 指针类型

    许多初学者对C中的void 和void 的指针类型不是很了解.因此常常在使用上出现一些错误,本文将告诉大家关于void 和void 指针类型的使用方法及技巧. 1.首先,我们来说说void 的含义: ...

  7. typedef void (*funcptr)(void)

    定义一个函数指针类型.比如你有三个函数:void hello(void) { printf("你好!"); }void bye(void) { printf("再见!&q ...

  8. C/C++语言void及void指针深层探索(转)

    转自:http://www.lanou3g.com/blog/sort/SelfiOS/page/78 1.概述 许多初学者对C/C++语言中的void及void指针类型不甚理解,因此在使用上出现了一 ...

  9. void指针(void*)用法

    首先看一段测试代码: #include <stdio.h> int void_test(void* data) { ; num = *(int*)data; printf("nu ...

  10. void、void*以及NULL

    void.void*以及NULL 写在前面 在使用C++的过程中,void和NULL用到的频率挺高的,但是从来没有去探索过这两个关键字的联系和区别,也没有对它们做更多的探索.对于void*,说实话,实 ...

随机推荐

  1. linux内存管理子系统

    一.Linux内存管理模型 1.虚拟地址与物理地址的映射 2.物理地址的分配二.虚拟地址与物理地址的映射 1.虚拟地址空间分布 32位处理器有32根地址总线,可访问4G的物理空间.其中有0-3G为用户 ...

  2. sicily 4378 connected components in undirected graph

    题意:求图中的连通块数,注意孤立的算自连通! 例如:6个顶点3条路径,其中路径为:1->2    4->5  1->3 那么有(1-2&&1->3) + (4- ...

  3. # MongoDB学习笔记(持续更新)

    启动mongo服务 sodo mongo 显示数据库(显示数据库名称和大小,单位GB) > show dbs admin (empty) local 0.078GB test 0.078GB t ...

  4. 使用zTree控件制作的表格形式的树形+数据菜单

    測试了一下,兼容ie7以上, chrome opera ff 不使用对方css /*------------------------------------- zTree Style version: ...

  5. Codeforces Round #256 (Div. 2/B)/Codeforces448B_Suffix Structures(字符串处理)

    解题报告 四种情况相应以下四组数据. 给两字符串,推断第一个字符串是怎么变到第二个字符串. automaton 去掉随意字符后成功转换 array 改变随意两字符后成功转换 再者是两个都有和两个都没有 ...

  6. 内部类之.this&&.new

    一..this 我们都知道this是指当前类中的对象本身,但是在内部类中需要指明外部类时,this不再起作用,那应该怎么做呢?下面,让我们看看: public class DotThis { void ...

  7. linux wc命令

    Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出. 1.命令格式: wc [选项]文件... 2.命令功能: 统计指定文件中的字节数. ...

  8. 使Asp.net WebApi支持JSONP和Cors跨域访问

    1.服务端处理 同源策略(Same Origin Policy)的存在导致了“源”自A的脚本只能操作“同源”页面的DOM,“跨源”操作来源于B的页面将会被拒绝.同源策略以及跨域资源共享在大部分情况下针 ...

  9. NHibernate+NUnit (VS2012+SQL Server2008) (转)

    源博客:http://blog.csdn.net/jiajiayouba/article/details/9877875 首先,你要明白,NHibernate在.NET中的作用和Hibernate在J ...

  10. Android(通用机能)

    数据存储 本地数据存在都是私有化的. 共享方法1是构造数据源组件.方法2将数据放入扩展存储设备. Mashup 服务组件默认没有运行在独立进程或线程中,因此费时操作一般需要起线程.可配置指定新进程. ...