zoukankan      html  css  js  c++  java
  • 函数数组

    #include <unistd.h>
    typedef int (FUN) (void);
    typedef FUN_PTR (FUN*) ;
    int print1(void)
    {
        printf("1111111
    ");
        sleep(1);
    }
    
    int print2(void)
    {
        printf("2222222
    ");
        sleep(1);
    }
    
    int print3(void)
    {
        printf("333333
    ");
        sleep(1);
    }
    
    int print4(void)
    {
        printf("444444
    ");
        sleep(1);
    }
    
    int print5(void)
    {
        printf("555555
    ");
        sleep(1);
    }
    
    FUN* functable[]={
        print1 ,
        print2,
        print3,
        print4,
        0
    };
    
    int main()
    {
        FUN **fnc_ptr  ;
     
        int i ;    
        for(fnc_ptr = functable ; *fnc_ptr ; ++fnc_ptr){
            (*fnc_ptr)();
        }
        fnc_ptr = functable;
        for(i=0 ; i<5;i++){
            (*(fnc_ptr+i))();
        }
        fnc_ptr = functable;
        for(i=0 ; i<5;i++){//Segmentation fault
             (fnc_ptr[i])();
        }
    }
    /*
    1111111
    2222222
    333333
    444444
    1111111
    2222222
    333333
    444444
    Segmentation fault
    */
    改:
    int main()
    {
        FUN **fnc_ptr  ;
     
        int i ;    
        for(fnc_ptr = functable ; *fnc_ptr ; ++fnc_ptr){
            (*fnc_ptr)();
        }
        #if 1
        fnc_ptr = functable;
        for(i=0 ; i< 4;i++){
            (*(fnc_ptr+i))();
        }
        #endif
        
        #if 1 
        fnc_ptr = functable;
        for(i=0 ; i< 4;i++){
             (fnc_ptr[i])();
        }
        #endif
    
    }
    /*
    1111111
    2222222
    333333
    444444
    1111111
    2222222
    333333
    444444
    1111111
    2222222
    333333
    444444
    */
  • 相关阅读:
    scp上传服务器文件
    svn一次添加所有未添加的文件
    vue 去掉#和拼接参数
    vuex状态管理
    获取页面iframe里的元素
    angular 中ng-bind-html 、$scope服务
    心态崩了
    day 8
    day 7
    day6 angularjs学习
  • 原文地址:https://www.cnblogs.com/mylinux/p/3981881.html
Copyright © 2011-2022 走看看