免费建手机商城网站,青岛网站排名方案,一条龙网页,网站建设交流发言材料C定义的函数是可以支持函数参数个数不确定的。VA_LIST是在C语言中解决变参问题的一组宏#xff0c;所在头文件#xff1a;#include stdarg.h,用于获取不确定个数的参数同时使用…代替多个参数#xff0c;调用时只需要根据需要传入多个参数。
VA_LIST的…C定义的函数是可以支持函数参数个数不确定的。VA_LIST是在C语言中解决变参问题的一组宏所在头文件#include stdarg.h,用于获取不确定个数的参数同时使用…代替多个参数调用时只需要根据需要传入多个参数。
VA_LIST的用法
[转载]
首先在函数里定义一具VA_LIST型的变量这个变量是指向参数的指针然后用VA_START宏初始化刚定义的VA_LIST变量然后用VA_ARG返回可变的参数VA_ARG的第二个参数是你要返回的参数的类型如果函数有多个可变参数的依次调用VA_ARG获取各个参数最后用VA_END宏结束可变参数的获取。
遍历可变参数(VA_LIST)
[转载] 传入的时候指定参数个数 void arg_cnt(int cnt, ...){int value0;int i0;int arg_cntcnt;va_list arg_ptr; va_start(arg_ptr, cnt); for(i 0; i cnt; i){value va_arg(arg_ptr,int);printf(value%d%d\n, i1, value);}va_end(arg_ptr);} 调用方法“arg_cnt(4,1,2,3,4);”第一个参数为传入参数个数。 传入的时候指定特殊的字符以标示为结 int demo( char msg, ... ){va_list argp;int argno 0;char para;va_start( argp, msg );while (1){para va_arg( argp, char);if ( strcmp( para, ) 0 )break;printf(Parameter #%d is: %s\n, argno, para);argno;}va_end( argp );return 0;} 调用方法“demo(“DEMO”, “This”, “is”, “a”, “demo!”, “”);”最后一个参数标示结束。
[转载]va_list、va_start、va_arg、va_end的原理与使用