C 不定参数的实现
#include
void va_start(va_list ap, last);
type va_arg(va_list ap, type);
void va_end(va_list ap);
void va_copy(va_list dest, va_list src);
va_list ap
//获取不定参数列表
void va_start(va_list ap, last);
//将不定参数保存到列表ap中, last为前一个变量的名称
va_end
// 销毁不定参数列表, 一个va_start必须对应一个va_end
举例
void foo(char *fmt, ...) ;
void foo(char *fmt, ...) {
va_list ap;
int d;
char c, *s;
va_start(ap, fmt);
while (*fmt)
switch(*fmt++) {
case 'd' :
d = va_arg(ap, char*);
printf("int %d\n", d);
break;
}
va_end(ap);
阅读(1189) | 评论(0) | 转发(0) |