zoukankan      html  css  js  c++  java
  • typedef void(*Fun)(void);

    typedef void(*Fun)(void);   

    函数类似于数组,函数名就是它的首地址;
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    int i;             // 定义了一个int类型的变量i; 而这样
    typedef INT int;   // 表示用户自己定义了一个整型数据类型INT,实际上就等同于int 所以:INT ii;
                       // 表示定义了一个int类型的变量ii;  
    void (*pFn)(void)  // 定义了一个函数指针,该函数指针指向类似于void Foo(void)函数的函数入口地址 
    typedef void (*Fun)(void
                       // 表示用户自己定义了一个函数指针数据类型 
    Fun pf;            // 表示定义了一个函数指针pf,改函数指针指向类似于void   *pf(void)的函数  //leo 
    char *a="This is ";// 这个在常量区分配一个空间,然后a指向此空间
    char a[] = "This is";
                       // 这个在常量区分配一个空间,然后又在栈上分配一个空间,将常量区的内容复制过来,所以可以修改
    /* //////////定义一个函数指针类型/////////// */
    //比如你有三个函数:
    void hello(void) { printf("你好!"); }
    void bye(void) { printf("再见!"); }
    void ok(void) { printf("好的!"); }
     
    typdef void (*funcptr)(void);
                       // 这样就构造了一个通用的函数;你用的时候可以这样:
    void speak(int id)
    {
       funcptr words[3] = {&hello, &bye, &ok};
       funcptr fun = words[id];
       (*fun)();
    }
     
    这样的话,如果speak(0)就会显示“你好!”
    speak(1)就会显示“再见!”
    speak(2)就会显示“好的!”
     
    用于处理参数和返回值的形式都一样,但是功能不确定的一组函数,可以使用函数指针
    比如算术运算符,加、减、乘、除,都可以用typedef int (*calc)(int,int)代表,等等
  • 相关阅读:
    【monkeyrunner】monkeyrunner 常见问题
    【monkeyrunner】monkeyrunner 的的方法介绍
    【monkeyrunner】浅谈包名和activity名
    【monkeyrunner】monkeyrunner脚本录制和回放
    【monkeyrunner】monkeyrunner 的主要API和实例
    【monkey】mokey常用事件<二>
    【monkey】mokey常用命令<一>
    【python】python实例集<二>
    【python】 使用 setuptools
    【python】python实例集<一>
  • 原文地址:https://www.cnblogs.com/defen/p/4395060.html
Copyright © 2011-2022 走看看