栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > C/C++/C#

struct { void (*fun)(void); char *tip; }

C/C++/C# 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

struct { void (*fun)(void); char *tip; }

//

//

//

struct {

void (*fun)(void);

char *tip;

}CmdTip[] = {

{ Temp_function, "Please input 1-11 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" } ,

{ Lcd_TFT_Test, "Test TFT LCD" } ,

{ Test_Iic, "Test IIC EEPROM" } ,

{ PlayMusicTest, "UDA1341 play music" } ,

{ RecordTest, "UDA1341 record voice" } ,

{ Test_SDI, "Test SD Card" } ,

{ Camera_Test, "Test CMOS Camera"},

{ 0, 0}

};

//

//

//

while(1)

{

U8 idx;

Uart_Printf("nPlease select function : n");

for(i=0; CmdTip[i].fun!=0; i++)

Uart_Printf("%d : %sn", i, CmdTip[i].tip);

idx = Uart_GetIntNum_GJ() ;

if(idx

{

(*CmdTip[idx].fun)();

Delay(20);

Uart_Init( 0,115200 );

}

}

以上是一个结构体数组,是TQ2440板子资料中的一段程序。

该结构体采用结构体类型变量的第三种定义方法,直接定义结构体类型变量并赋值。结构中有两个成员,一个指针函数其返回值类型为void,参数类型也为void。当使用CmdTip[i].fun返回的是一个函数的地址,除最后一个元素外,返回的地址值不为0,而结构体数组的最后一个元素为{0,0},其目的就在于结束循环。

struct { void (*fun)(void); char *tip; }_攻城步兵_新浪博客

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/529372.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号