- 论坛徽章:
- 0
|
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);
本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/109133/showart_2163022.html |
|