va_list是用来处理可变参数的,下面看一个示例。
#include "stdarg.h"
#include <stdio.h>int test(char* msg, ...);int main()
{test("hello", "wolrd",1);return 0;
}int test(char* msg, ...)
{va_list vaList; //定义一个具有va_list型的变量,这个变量是指向参数的指针。va_start(vaList, msg);//始化变量刚定义的va_list变量,使其指向第一个可变参数的地址,地址自动增加printf("msg =%s\n",msg); printf("%s\n",va_arg(vaList,char*));//va_arg返回可变参数printf("%d\n",va_arg(vaList,int));va_end(vaList);//结束可变参数列表
}
运行:msg =hello
wolrd
1