请教一个C语言问题,谢谢!

typedef struct
{
        int (*setnumFun)(void *a, int b, int *c);
}strFun;

int setnum(*p)
{
    函数内容;
}

int a()
{
    strFun *temp;

    temp->setnumFun = setnum;
}

想请教一下,上面temp->setnumFun = setnum;这句将函数赋值 实际含义是什么?谢谢!

可以看一下函数指针的用法
https://blog.csdn.net/u010183728/article/details/80967283

temp->setnumFun = setnum;
将函数传给函数指针类型
但是其实这么写是错的,因为
int (*setnumFun)(void *a, int b, int *c); 
返回值是int,参数是void *, int, int *
你需要把setnum修改下
int setnum(void *p, int b, int * c)
{
...
}
这样才行。

用setnum替换setnumFun,同时将指向setnumFun的指针返回给setnum