首页 > 代码库 > 函数指针

函数指针

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;}

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

 

函数指针