【发布时间】:2016-01-03 14:41:30
【问题描述】:
我在 C11 标准中搜索可变参数函数的描述,但我找到的唯一信息几乎没有提及该主题。有人可以告诉我可以在其中找到的所有关于他们的主题的参考吗?
到目前为止,我发现自己在 §6.9.1.8 中:
如果定义了一个接受可变数量参数的函数 没有以省略号结尾的参数类型列表, 行为未定义。
在 §7.16 中描述了 <stdarg.h> 头文件。但是我非常怀疑这是标准中关于可变参数函数的所有信息。
【问题讨论】:
-
还有一些与此相关的段落。基本上,在参数列表中为
...传递的参数被视为没有原型定义的函数(即应用默认参数提升)。但实际上并不需要更多指定变量参数列表。 -
您当然需要
<stdarg.h>才能使用变量参数。 -
C11 标准草案,
6.7.6.3 Function declarators (including prototypes)?
标签: c language-lawyer variadic-functions c11