void foo(...);
void foo(parm_list,...);
2:函数参数的传递原理
函数参数是以数据结构:栈的形式存取,从右至左入栈.eg:
#include
void fun(int a, ...)
{
int *temp = &a;
temp++;
for (int i = 0; i < a; ++i)
{
cout << *temp << endl;
temp++;
}
}
int main()
{
int a = 1;
int b = 2;
int c = 3;
int d = 4;
fun(4, a, b, c, d);
system("pause");
return 0;
}
Output::
1
2
3
4
3:获取省略号指定的参数
在函数体中声明一个va_list,然后用va_start函数来获取参数列表中的参数,使用完毕后调用va_end()结束。像这段代码:
void TestFun(char* pszDest, int DestLen, const char* pszFormat, ...)
{
va_list args;
va_start(args, pszFormat);
_vsnprintf(pszDest, DestLen, pszFormat, args);
va_end(args);
}
【va_start()va_end()函数应用】相关文章:
2018湖南省农村信用社联合社招聘科技专业人才拟聘公告05-07
at(the)least和not(in)the least用法区别 相似词语辨析(17)05-07
一年级数学奥数题及答案:猴子爬树05-07
普通中学生入团志愿书500字通用范文05-07
计算机应用技术英语简历范文大全05-07
考试大:会计-支票英语用语05-07
常用职位英文译名(一)05-07
初中数学教案:整式的加减 整式(3)05-07
内蒙古党委组织部、人事厅拟录用公务员公告05-07
