可变参数的问题

来源:百度知道 编辑:UC知道 时间:2024/06/05 00:39:44
两个问题:

1. 首先是使用 void va_start( va_list arg_ptr, prev_param ) 时
这里第二个参数 prev_param 一般是函数中的最后一个固定参数,但是如果函数声明中没有固定参数怎么办?是编译不通过还是什么?比如

void func(...)
{
这里 va_start() 怎么写?
}

2. 在可变参数里,如何获得可变参数的个数?比如

void func(char *arg, ...)
{
va_list arg_ptr;

va_start(arg_ptr, arg);

num = 可变参数个数; /* 这里如何获得可变参数的个数?????? */

va_end(arg_ptr);
}

不很清楚你的问题..你补充下吧!
不过你说的有点像C中的实参与形参

实参 用函数 必须填写参数

形参 不一定要填写..形参用 void 定义


f(int a , void b)
{
}
a是实参 b是形参