返回介绍

2. 变参

发布于 2024-10-12 21:58:09 字数 600 浏览 0 评论 0 收藏 0

可选变参前,至少有一个固定命名参数。

  1. 定义 va_list 参数指针对象。
  2. 使用 va_start 通过最后一个固定参数,初始化变参。
  3. 使用 va_arg 迭代获取变参值,须指定类型。(实参可以是不同类型)
  4. 使用 va_end 结束。如重新使用,或 va_copy ,则必须先结束。
#include <stdio.h>
#include <stdarg.h>

void test (int count, ...)
{
    va_list args;
    va_start(args, count);

    for (int i = 0; i < count; i++) {
        int a = va_arg(args, int);
        printf("%d\n", a);
    }

    va_end(args);
}

int main (void)
{
    test(3, 11, 22, 33);
    return 0;
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
    我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
    原文