typedef void fun(void)

来源:互联网 发布:mac版的ps怎么破解 编辑:程序博客网 时间:2024/06/09 16:00

转自https://zhidao.baidu.com/question/268132515.html?qbl=relate_question_0&word=typedef%20void%28%2AFuncPtr%29%28%29

typedef void (*fun)(void);首先请看void (*fun)(void)这里定义了一个函数指针fun,fun指向一个参数为void,返回值为void的函数。接着再看typedef void (*fun)(void);typedef 的作用是定义一种类型,例如想上面的那样定义的话,就定义了fun这种类型,而fun这种类型的约束条件就是,要指向一个参数为void,并且返回值为void的函数的类型。不知道是不是我理解错了,要是理解有错,劳烦楼主把完整代码贴出来看看。#include<stdio.h>typedef void (*fun)( void ) ; void Fun1( void ){printf ( "Fun1 Run\n" );}void Fun2( void ){printf ( "Fun2 Run\n" );}int main(  ){fun p; p=Fun1; //两者类型匹配。p(  ); //p=Fun2; ( *p)(  );//这两种p的表示方法是等价的 return 0; }
追问
没有看错,就是typedef void fun(void)
追答
那楼主你把应用的完整代码贴出来看看咋样。
追问
typedef void fVoidVoid(void);static fVoidVoid * _apfTest[] = {  GUIDEMO_HardwareInfo,  GUIDEMO_Speed,}
追答
typedef void fVoidVoid(void);static fVoidVoid * _apfTest[] = {  GUIDEMO_HardwareInfo,  GUIDEMO_Speed,}等价于typedef void (*fVoidVoid)(void);static fVoidVoid  _apfTest[] = {  GUIDEMO_HardwareInfo,  GUIDEMO_Speed,}
typedef void fVoidVoid(void);static fVoidVoid * _apfTest[] = {  GUIDEMO_HardwareInfo,  GUIDEMO_Speed,}等价于typedef void (*fVoidVoid)(void);static fVoidVoid  _apfTest[] = {  GUIDEMO_HardwareInfo,  GUIDEMO_Speed,}


原创粉丝点击