C 库宏 - va_arg()

C 语言教程 · 2019-02-23 12:28:28

描述

C 库宏 type va_arg(va_list ap, type) 检索函数参数列表中类型为 type 的下一个参数。它无法判断检索到的参数是否是传给函数的最后一个参数。

声明

下面是 va_arg() 宏的声明。

type va_arg(va_list ap, type)

参数

  • ap -- 这是一个 va_list 类型的对象,存储了有关额外参数和检索状态的信息。该对象应在第一次调用 va_arg 之前通过调用 va_start 进行初始化。
  • type -- 这是一个类型名称。该类型名称是作为扩展自该宏的表达式的类型来使用的。

返回值

该宏返回下一个额外的参数,是一个类型为 type 的表达式。

实例

下面的实例演示了 va_arg() 宏的用法。

#include <stdarg.h>
#include <stdio.h>

int sum(int, ...);

int main()
{
   printf("15 和 56 的和 = %d\n",  sum(2, 15, 56) );
   return 0;
}

int sum(int num_args, ...)
{
   int val = 0;
   va_list ap;
   int i;

   va_start(ap, num_args);
   for(i = 0; i < num_args; i++) 
   {
      val += va_arg(ap, int);
   }
   va_end(ap);
 
   return val;
}

让我们编译并运行上面的程序,这将产生以下结果:

15 和 56 的和 = 71

点击查看所有 C 语言教程 文章: https://www.codercto.com/courses/l/17.html

查看所有标签

CSS那些事儿

CSS那些事儿

林小志 / 电子工业出版社 / 2009-10 / 49.80元

本书专注于CSS技巧实例的讲解,由浅入深地分析了CSS样式在布局时所需要理解的原理。放弃到处可见的基础知识、网络中能随意搜索到的hack技巧,侧重原理分析,拓展读者使用CSS布局的思维方式,通过本书的阅读读者将会了解到使用CSS布局的强大功能。 全书以传达CSS布局思维为中心,通过页面中的文字、图片、表格、表单等常见元素的处理及各种页面布局方式的使用,使读者能深入了解到如何在页面中更好地运用......一起来看看 《CSS那些事儿》 这本书的介绍吧!

JSON 在线解析
JSON 在线解析

在线 JSON 格式化工具

SHA 加密
SHA 加密

SHA 加密工具

UNIX 时间戳转换
UNIX 时间戳转换

UNIX 时间戳转换