ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
# C 标准库 - <stdarg.h> ## 简介 **stdarg.h** 头文件定义了一个变量类型 **va_list** 和三个宏,这三个宏可用于在参数个数未知(即参数个数可变)时获取函数中的参数。 可变参数的函数通在参数列表的末尾是使用省略号(,...)定义的。 ## 库变量 下面是头文件 stdarg.h 中定义的变量类型: | 变量 | 描述 | | --- | --- | | **va_list** | 这是一个适用于 **va_start()、va_arg()** 和 **va_end()** 这三个宏存储信息的类型。 | ## 库宏 下面是头文件 stdarg.h 中定义的宏: | 宏 | 描述 | | --- | --- | | [void va_start(va_list ap, last_arg)](c-macro-va_start.html) | 这个宏初始化 **ap** 变量,它与 **va_arg** 和 **va_end** 宏是一起使用的。**last_arg** 是最后一个传递给函数的已知的固定参数,即省略号之前的参数。 | | [type va_arg(va_list ap, type)](c-macro-va_arg.html) | 这个宏检索函数参数列表中类型为 **type** 的下一个参数。 | | [void va_end(va_list ap)](c-macro-va_end.html) | 这个宏允许使用了 **va_start** 宏的带有可变参数的函数返回。如果在从函数返回之前没有调用 **va_end**,则结果为未定义。 |