什么是';ap&x27;在C示例中代表什么?

什么是';ap&x27;在C示例中代表什么?,c,coding-style,C,Coding Style,例如,在参考资料中: type va_arg (va_list ap, type) ap代表参数指针吗?还有别的吗?ap代表参数指针。事实上,它是: 类型-要检索的参数类型 arg_ptr-指向参数列表的指针 这实际上是一个很难回答的问题 看;在K&R2中提到了短语“参数指针” 标题于1989年由ANSI C标准引入。没有显示任何示例,也没有使用名称ap或arg\u ptr。标准本身(最新草案是在示例中使用名称ap),但没有对其进行解释 我还没有找到名称ap的解释。它最初代表“参数指针”,

例如,在参考资料中:

type va_arg (va_list ap, type)

ap
代表参数指针吗?还有别的吗?

ap
代表参数指针。事实上,它是:

  • 类型
    -要检索的参数类型
  • arg_ptr
    -指向参数列表的指针
这实际上是一个很难回答的问题

看;在K&R2中提到了短语“参数指针”

标题于1989年由ANSI C标准引入。没有显示任何示例,也没有使用名称
ap
arg\u ptr
。标准本身(最新草案是在示例中使用名称
ap
),但没有对其进行解释

我还没有找到名称
ap
的解释。它最初代表“参数指针”,这似乎是合理的,但需要注意的是,类型
va_list
不是(必要的)指针类型。例如,在gcc中,它被定义为
\uuu builtin\u va\u list
,一种直接由编译器实现的类型。(在我的系统中,它的大小恰好为24字节,但这不是特别有用的信息)


一句话:名称
ap
va_list
对象的常规名称,没有我们需要关心的特殊原因。

这实际上是一个很容易回答的问题


ap
代表参数指针

摘自第二版Brian W.Kernighan和Dennis M.Ritchie:

7.3可变长度参数列表

[…]类型va_列表用于声明一个变量,该变量将依次引用每个参数;在minprintf中,该变量称为ap,表示“参数指针”


它实际上代表“作者被磷化”。在20世纪70年代或以前的代码中是合理的,但现在更难证明。
ap代表参数指针吗?
可能是。它只是一个变量名,所以它可以代表作者以其命名的任何东西。很好。谢谢你的风格建议。@JerryCoffin你是说我们不应该在mo中使用变量参数吗dern c?@这确实是推断出来的结果?:|也许,但在c标准或中没有对这一点的支持。两者都只是使用名称
ap
,没有解释。还值得注意的是,
va_list
不是(必要的)指针类型。@KeithThompson K&R2中有支持,请看我的回答好的发现!很可能是Dennis Ritchie命名了该变量。很好。值得注意的是,
va_list
不一定是指针类型;它只是抽象意义上的“指针”。
type va_arg(
   va_list arg_ptr,
   type 
);