C stdarg.h

Posted longt258

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C stdarg.h相关的知识,希望对你有一定的参考价值。

  参考:https://www.cnblogs.com/bettercoder/p/3488299.html    博主:运动和行动

  

va_start宏,获取可变参数列表的第一个参数的地址(list是类型为va_list的指针,param1是可变参数最左边的参数):

#define va_start(list,param1)   ( list = (va_list)&param1+ sizeof(param1) )

va_arg宏,获取可变参数的当前参数,返回指定类型并将指针指向下一参数(mode参数描述了当前参数的类型):

#define va_arg(list,mode)   ( (mode *) ( list += sizeof(mode) ) )[-1]

va_end宏,清空va_list可变参数列表:

#define va_end(list) ( list = (va_list)0 )

以上是关于C stdarg.h的主要内容,如果未能解决你的问题,请参考以下文章

C语言怎么实现可变参数?

C语言函数参数中的三个点(三点 “...”)是干什么用的?(可变参数)<stdarg.h>va_start 宏va_arg 宏va_end 宏

C语言函数参数中的三个点(三点 “...”)是干什么用的?(可变参数)<stdarg.h>va_start 宏va_arg 宏va_end 宏

stdarg.h

C语言 可变参数列表

无法在 virtualenv 中安装 psycopg2 “错误:stdarg.h:没有这样的文件或目录”