【发布时间】:2015-11-16 18:43:43
【问题描述】:
我想知道是否可以在 C 中创建一个接受不同类型参数的可变参数函数。即
void fillDatabase(char* name, int age){
writeToDatabase(name, age);
}
int main(){
fillDatabase("Paul", 19);
fillDatabase("Herbert");
}
在这里,我试图用姓名和年龄填充数据库。但也可以只用名字而不用年龄来填充它。所以我想知道我是否可以为此使用相同的功能,或者我是否必须编写两个不同的功能?
Online 我只能找到具有相同类型参数的可变参数函数的示例。
提前致谢!
【问题讨论】:
-
我认为您混淆了可变参数函数和函数重载的概念。
-
printf是一个可变参数函数,可以接受不同类型的参数...请注意,您需要提供一些显式提供参数类型的方法(printf-like 函数通过格式字符串)。 -
只需写两个函数。编写可变参数函数,使用
struct、union或任何其他技巧只会自找麻烦。说真的。 -
伙计们,如果有人要你帮他在脚上开枪,你不会给他枪……至少不是没有充分理由……跨度>
-
好的,谢谢,我就用两个函数
标签: c function variadic variadic-functions