Typedef用法

    xiaoxiao2021-03-25  79

    先看一个例子

    typedef void (*funcptr)(void) 什么意思

    这里是定义了一个指向参数为空,返回值为空的函数的指针类型。

    定义一个函数指针类型。 比如你有三个函数: 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)就会显示“好的!” 用于处理参数和返回值的形式都一样,但是功能不确定的一组函数,可以使用函数指针。

    待补充(没明白!)

    void hello(void) { printf("你好!"); } typedef void(*Fun)(void); Fun pFun = NULL; pFun = &hello; pFun();

    输出结果是: 你好!

    转载请注明原文地址: https://ju.6miu.com/read-37364.html

    最新回复(0)