C语言实现函数查表跳转程序

时间:2009-10-14
C语言实现查表跳转程序.可以采用状态机如
switch(state)
{
    case 1:state_fuc();break;
    case 2:state_fuc();break; 
.........
也可以用if ...else if ......else .....
除了用switch或if判断,还有汇编那种goto
下面这种采用函数指针的办法.如下
void(*key_list[16])()={  
                key_zero,  
                key_one,  
                key_two,  
                key_three,  
                key_four,  
                key_five,  
                key_six,  
                key_seven,   (这些是函数名)  
                key_eight,  
                key_nine,  
                key_ten,  
                key_eleven,  
                key_twelve,  
                key_thirteen,  
                key_fourteen,  
                key_fifteen  
};  
void main()  
{          
        void(*fp)();  
        delay(10);  
        write_com(0x01);  
        delay(15);  
        write_com(0xc);  
        lcd_home();          
        while(1)          
        {  
                        if(key_press())  
                                {        delay(100);  
                                        fp=key_list[key_scan()];  
                                        (*fp)();  
                                        delay(1200);  
                                }  
                          

        }  
//----------------------------------
                                        fp=key_list[key_scan()];   直接把指针传给fp
                                        (*fp)();   调用


  
上一篇:多端口SDRAM控制器的设计与实现
下一篇:于嵌入式Linux的RFID信息采集与处理系统

免责声明: 凡注明来源本网的所有作品,均为本网合法拥有版权或有权使用的作品,欢迎转载,注明出处。非本网作品均来自互联网,转载目的在于传递更多信息,并不代表本网赞同其观点和对其真实性负责。

相关技术资料