在C标准的可变参数函数中描述了什么?

时间:2016-01-03 14:41:30

标签: c language-lawyer variadic-functions c11

我正在寻找C11标准中可变函数的描述,但我发现的唯一信息几乎没有提到这个主题。有人可以向我展示可以在其中找到的有关它们的所有主题吗?

到目前为止,我所发现的是§6.9.1.8:

  

如果定义了接受可变数量参数的函数   没有以省略号表示法结尾的参数类型列表,   行为未定义。

在§7.16中描述了foreach ($arr as $value) { $value = $value * 2; } 头文件。但是我非常怀疑这是关于标准中可变函数的所有信息。

1 个答案:

答案 0 :(得分:5)

除了您指出的章节之外,我还建议您从C11标准中查看章节§6.7.6.3,其中包含有关函数声明符的更多信息。总结一下,

  • Variadic函数声明:Chapter§6.7.6.3
  • 可变参数函数调用:章节§6.5.2.2
  • 变量函数定义:章节§6.9.1
  • Variadic函数参数列表相关宏及其用法:Chapter§7.16.1.1--§7.16.1.4

但是,对于可变参数函数没有全功能的描述,在标准本身AFAIK中以完整章节的形式编译(如果这是你正在寻找的)。

您可能需要查看wiki entry以获得更多信息。