首页 > 代码库 > va_arg、va_end

va_arg、va_end

(1)首先在函数里定义一具VA_LIST型的变量,作用:指向参数的指针;
(2)然后用VA_START宏初始化变量刚定义的VA_LIST变量,初始化后,VA_LIST指针指向可变参数组中第二个参数;
(3)然后用VA_ARG返回可变的参数,VA_ARG的第二个参数是你要返回的参数的类型,执行宏定义后,VA_LIST指针依次指向下一个参数;
(4)最后用VA_END宏结束可变参数的获取。

 

va_list ap;
va_start(ap, str);
id strtest = str;
while (strtest) {
NSLog(@"%p",strtest);
strtest = va_arg(ap, id);
}
va_end(ap);

 

va_arg、va_end