210开发板吧 关注:77贴子:371
  • 1回复贴,共1

210开发板辅助理解(结合C 函数是怎么被组织进 C程序的)

只看楼主收藏回复

1).va_start(arg_ptr, argN):使参数列表指针 arg_ptr指向函数参数列表中的第一个可选参数,说明:argN
是位于第一个可选参数之前的固定参数,(或者说,最后一个固定参数,或者说,„之前的一个参数),函
数参数列表中参数在内存中的存放顺序与函数声明时的顺序是一致的。如果有一 va_test()函数的声明是
void va_test(char a, char b, char c, „),则它的固定参数(和在内存中存放的顺序)依次是a,b,c,最后一个固定
参数argN为 c,因此就是va_start(arg_ptr, c);


1楼2013-03-04 09:41回复
    2).va_arg(arg_ptr, type):返回参数列表中指针 arg_ptr所指的参数,返回类型为 type,并使指针 arg_ptr
    指向参数列表中的下一个可选参数;
    va_end(arg_ptr):清空参数列表,并置参数指针 arg_ptr无效。说明:指针 arg_ptr被置无效后,可以通过调
    用 va_start()、va_copy()恢复 arg_ptr。每次调用 va_start()或 va_copy()后,必须得有相应的 va_end()与之匹
    配。参数指针可以在参数列表中随意地来回移动,但必须在 va_start() „ va_end()之间。


    2楼2013-03-04 09:42
    回复