| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 680 人关注过本帖
标题:函数指针
只看楼主 加入收藏
xzy199999
Rank: 4
等 级:业余侠客
帖 子:326
专家分:286
注 册:2010-11-19
结帖率:92.45%
收藏
 问题点数:0 回复次数:9 
函数指针
void Temp_function() { Uart_Printf("\nPlease input 1-16 to select test!!!\n"); }

struct {
    void (*fun)(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}                        
            };
    while(1)
    {
        U8 idx;
        
        Uart_Printf("\nPlease select function : \n");   
        for(i=0; CmdTip[i].fun!=0; i++)
            Uart_Printf("%d : %s\n", i, CmdTip[i].tip);
        idx = Uart_GetIntNum_GJ() ;   
        if(idx<i)
        {
            (*CmdTip[idx].fun)();
            Delay(20);
            Uart_Init( 0,115200 );
        }   
   
    }         

}
谁能总结下函数指针的用法?
搜索更多相关主题的帖子: test 
2011-05-08 11:08
H675534537
Rank: 2
等 级:论坛游民
帖 子:11
专家分:10
注 册:2011-5-5
收藏
得分:0 
太强了,看不懂!!!!
2011-05-08 11:48
qq1023569223
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:湖南科技大学
等 级:贵宾
威 望:26
帖 子:2753
专家分:13404
注 册:2010-12-22
收藏
得分:0 
也不太懂,其实这东西不实用,也没有人用!

   唯实惟新 至诚致志
2011-05-08 12:35
raiy
Rank: 1
等 级:新手上路
帖 子:8
专家分:8
注 册:2011-4-8
收藏
得分:0 
看不懂

 
2011-05-08 14:09
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
函数指针的文章太多了,随便google

技术问题,请不要以短消息方式提问
2011-05-08 16:05
为我留住记忆
Rank: 4
来 自:北京
等 级:业余侠客
帖 子:130
专家分:226
注 册:2011-4-30
收藏
得分:0 
  没看懂  本来指针学的就差。。。结果,,,,

学习c是为了自己更强大。。。
2011-05-08 16:24
懂也不懂
Rank: 4
等 级:业余侠客
威 望:2
帖 子:73
专家分:224
注 册:2010-12-1
收藏
得分:0 
我个人认为他就是一个中间变量,主要是为了实现类似”多态“的功能,这样你就可以讲已有的函数的名赋值给他,其实就是将此处理函数的地址给他,当你调用它时自动的类似”多态"原理去执行相应的方法。
2011-05-08 16:32
laoyang103
Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19Rank: 19
来 自:内蒙古包头
等 级:贵宾
威 望:19
帖 子:3082
专家分:11056
注 册:2010-5-22
收藏
得分:0 
函数指针   是指向代码区 也就是(CS段)的指针

它的类型是有函数的参数类型和返回值类型共同决定的

                                         
===========深入<----------------->浅出============
2011-05-08 20:46
Devil_W
Rank: 10Rank: 10Rank: 10
等 级:青峰侠
威 望:9
帖 子:1160
专家分:1797
注 册:2009-9-14
收藏
得分:0 
以下是引用qq1023569223在2011-5-8 12:35:41的发言:

也不太懂,其实这东西不实用,也没有人用!


你不用不表示没人用, 你看看多少第三方库的API里面会有一个回调函数。

回调函数不就是指针函数实现的。

只能说你是宏心尔克--- 土B No.1
2011-05-08 20:51
zaixuexi
Rank: 12Rank: 12Rank: 12
来 自:上海
等 级:火箭侠
威 望:8
帖 子:858
专家分:3233
注 册:2010-12-1
收藏
得分:0 
以下是引用laoyang103在2011-5-8 20:46:49的发言:

函数指针   是指向代码区 也就是(CS段)的指针              ;好象没有这种说法

它的类型是有函数的参数类型和返回值类型共同决定的

技术问题,请不要以短消息方式提问
2011-05-08 23:12
快速回复:函数指针
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.020665 second(s), 10 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved