函数指针

typedef void (*fun)(void);  定义了一个函数指针,该函数的返回值是void,参数是void

下面主要讨论上述语句的用法

看下面的这个例子。

#include <stdio.h>
typedef void (*fun)(void);
void a(void)
{
    printf("a\n");
}

void b(void)
{
    printf("b\n");
}

void c()
{
    printf("c\n");
}


int main()
{
    fun table[3]={a,&b,&c};
    int i=0;
    for(i=0;i<3;i++)
    {
        fun  f =table[i];
        (f)();//上面和下面的效果是一样的
        (*f)();
    }
    return 0;
}

注意函数的名前加不加&的效果是一样的,因为函数名本身就是地址。

 

posted on 2014-12-01 21:55  追寻前人的脚步  阅读(131)  评论(0编辑  收藏  举报

导航