在哪里描述了 C 标准可变参数函数?
Where in the C standard variadic functions are described?
我正在搜索 C11 标准中可变参数函数的描述,但我找到的唯一信息几乎没有提到这个主题。有人可以向我展示其中可以找到的关于他们的所有主题的参考吗?
到目前为止,我发现自己在 §6.9.1.8 中:
If a function that accepts a variable number of arguments is defined
without a parameter type list that ends with the ellipsis notation,
the behavior is undefined.
并在 §7.16 中描述了 <stdarg.h>
头文件。然而,我非常怀疑这是在标准中可以找到的关于可变参数函数的所有信息。
除了您指出的章节外,我还建议您查看 C11
标准中的第 6.7.6.3 章,其中包含有关 函数声明符 的更多信息。总结一下,
- 可变函数声明:章节 §6.7.6.3
- 可变函数调用:章节 §6.5.2.2
- 可变函数定义:章节 §6.9.1
- Variadic function argument list related macros and their usage: Chapter §7.16.1.1 - §7.16.1.4
但是,在标准本身 AFAIK 中没有 full-featured 以完整章节的形式编译的可变参数函数的描述(如果这是您正在寻找的内容)。
您可能想查看 wiki entry 以获得更多见解。
我正在搜索 C11 标准中可变参数函数的描述,但我找到的唯一信息几乎没有提到这个主题。有人可以向我展示其中可以找到的关于他们的所有主题的参考吗?
到目前为止,我发现自己在 §6.9.1.8 中:
If a function that accepts a variable number of arguments is defined without a parameter type list that ends with the ellipsis notation, the behavior is undefined.
并在 §7.16 中描述了 <stdarg.h>
头文件。然而,我非常怀疑这是在标准中可以找到的关于可变参数函数的所有信息。
除了您指出的章节外,我还建议您查看 C11
标准中的第 6.7.6.3 章,其中包含有关 函数声明符 的更多信息。总结一下,
- 可变函数声明:章节 §6.7.6.3
- 可变函数调用:章节 §6.5.2.2
- 可变函数定义:章节 §6.9.1
- Variadic function argument list related macros and their usage: Chapter §7.16.1.1 - §7.16.1.4
但是,在标准本身 AFAIK 中没有 full-featured 以完整章节的形式编译的可变参数函数的描述(如果这是您正在寻找的内容)。
您可能想查看 wiki entry 以获得更多见解。