Latest web development tutorials

C 標準庫– <stdarg.h>

簡介

stdarg.h頭文件定義了一個變量類型va_list和三個宏,這三個宏可用於在參數個數未知(即參數個數可變)時獲取函數中的參數。

可變參數的函數通在參數列表的末尾是使用省略號(,...)定義的。

庫變量

下面是頭文件stdarg.h 中定義的變量類型:

序号变量 & 描述
1va_list
这是一个适用于va_start()、va_arg()va_end()这三个宏存储信息的类型。

庫宏

下面是頭文件stdarg.h 中定義的宏:

序号宏 & 描述
1 void va_start(va_list ap, last_arg)
这个宏初始化ap变量,它与va_argva_end宏是一起使用的。last_arg是最后一个传递给函数的已知的固定参数,即省略号之前的参数。
2 type va_arg(va_list ap, type)
这个宏检索函数参数列表中类型为type的下一个参数。
3 void va_end(va_list ap)
这个宏允许使用了va_start宏的带有可变参数的函数返回。如果在从函数返回之前没有调用va_end,则结果为未定义。