gpt4 book ai didi

c - 编译器将哪种数据结构用于 C 中的变量参数列表?

转载 作者:行者123 更新时间:2023-12-05 01:31:04 25 4
gpt4 key购买 nike

在处理 C 中的可变参数列表时,我只是想知道编译器在将可变参数存储在列表中时可能使用哪种数据结构。

  1. 它是一个空指针数组吗?
  2. 它是空指针的链表吗?
  3. 或其他什么?

最佳答案

没有结构。调用代码只是将参数放在堆栈上,vararg 函数负责正确解码它们。

例如在 printf 的情况下,第一个参数是固定的,一个 c 字符串,其余的根据字符串中的内容进行解码。 C 只是为您提供了访问这些元素的工具,因此您不必根据字段的大小(这取决于体系结构..)进行堆栈指针运算。

关于c - 编译器将哪种数据结构用于 C 中的变量参数列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6670257/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com