首先如果这几个结构体数据类型 相同,把一个参数作为结构体指针调用这几个结构体还可以做到,如果这几个结构体数据类型不同,用一个参数则无法实现你的要求。
变参函数也无法实现你的要求。变参函数只是说参数的个数是可变的,数据类型在定义好之后就不可变了。 有一个可以变通的办法就首先假设你已经有了结构体A,B,C,再定义一个结构体D typedef struct _D{
A a;
B b;
C c;
}D;
然后把参数的数据类型定义为 D* ,这样你就可以通过这个参数调用里边的结构体变量了。
是C还是C++?
如果是C++推荐用继承解决。
如果是C只能是强转了,只不过你必须要小心。
只要类型转换应该就可以