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
    */
  • 相关阅读:
    性能测试相关概念
    java -json()
    jquery ajax 前前后后,所有的函数并查询链接
    jquery ajax get /post
    jquery ajax load
    三个重要属性
    发送请求
    处理返回结果(XML)
    处理返回结果
    调用对象
  • 原文地址:https://www.cnblogs.com/mylinux/p/3981881.html
Copyright © 2011-2022 走看看