关于结构体中的指向函数的指针解决方案

关于结构体中的指向函数的指针
我希望在一个结构体中定义一个指向函数的指针,使在程序中能够对该指针赋值并调用相应的函数,不知道能不能实现,怎样实现?
struct   a
{
void   pFunction();//pFunction为指向函数的指针
struct   a   *Next;
}b;
void   fun1()
{
printf( "OK ");
}
void   main()
{
b.pFunction=fun1;//对指向函数的指针赋值
b.pFunction;//调用指定的函数;
}
(上面的代码只是为了说明我的意思,不能运行,像上面这样定义程序会认为pFunction是一个方法,而不是变量。)

------解决方案--------------------
struct A
{
typedef void (*ptrtofun)();
ptrtofun ptf;
A *next;
}

void fun()
{
printf( "ok,fun ");
}

int main()
{
struct A a;
a.ptf = &fun;
*a.ptf();
return 0;
}