c语言库函数调用函数指针

如何让函数指针能指向任意函数如何保存可变参数?
如题先看下面的示例代码:

    
请问,如何让任何函数都能赋值给同一个函数指针
也就是说,让这个函数指针能像printf函数那样支持任意数量,多种类型的参数

还有,如何保存这N个参数等需要用函数指针时,将保存的参数作为调用函数指针指向的函數所传递的参数

比如要实现这样的代码:

 /* save_func函数支持不定参数,并且能保存这些参
 * 数,等调用run_func函数时就会调用函数指针
 * 指向的函数,并将保存的这些参数传给这个函数 

但想像你说的这么智能c语言库函数真心办不到
 /*LZ所说的,实在没想好.. 下面是用共同体写的算是一个思路吧,
 当将某个函数赋值给共同体中的一个函数指针成员后就可以通过共同体中
 其他与函数参数相同的函数名调用*/
 

/*LZ所说的,实在没想好.. 下面昰用共同体写的算是一个思路吧,


 
------解决方案--------------------参数都不确定怎么知道该用什么根本不存在这种需求。可以把函数都通过一个相同参数的函数封装起来再调用

------解决方案--------------------用结构体的话转换也需要参数的类型,不知道参数怎么转联合可能还管用,但是有意义吗

参数都不确定怎么知道该用什么根本不存在这种需求。可以把函数都通过一个相同参数的函数封装起来再调用

看来,只有像pthread_create()函数那样传给子线程嘚参数必须是一个void*类型的变量。


要想让子线程调用的函数能接受多个多种类型的参数,就必须预先写个结构体转换成void型传进去,之后由子线程中的函数转换回来,……
          ------解决方案--------------------可以但是没有意义。怎么知道该传什么类型的结构体如果你知道该传什么类型的结构体,那么说明你也可以明确地知道应该调用哪个类型函数这样直接调用不就行了,为啥多此一举用指针函数指针一般是为运行时多态或鍺代码重用,没需求应该避免
------解决方案--------------------

我要回帖

更多关于 c语言库函数 的文章

 

随机推荐