gpt4 book ai didi

c - C 头文件中的非类型化参数

转载 作者:行者123 更新时间:2023-11-30 15:21:57 24 4
gpt4 key购买 nike

我正在尝试向 FreeBSD 9.3.0 系统添加系统调用。我在头文件 /usr/src/sys/sys/systm 中找到了这一行。 h:

int vsscanf(const char *, char const *, __va_list) __nonnull(1) __nonnull(2);

我的问题是关于 __va_list 参数。我见过关于无类型参数的类似问题,但他们指出编译器将它们假定为 int 并且也不使用但我知道 __va_list 不是 integer 并且不这样使用。那么它有什么类型?

最佳答案

So what type does it have?

__va_list 没有类型,它就是类型。该函数声明也缺少其他参数的变量名称。

如果你这样做

int a, b, c;
sscanf("1 2 3", "%d %d %d", &a, &b, &c);

通常sscanf创建va_list对象,并调用vsscanf。然后,vsscanf 使用 va_list 对象来跟踪检索项目时“可选”参数的位置。

所有变量参数函数都是这样工作的。

关于c - C 头文件中的非类型化参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29408913/

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