va_list/va_start/va_end的使用

va_list
键入以保存有关变量参数的信息

va_start
初始化变量参数列表
初始化ap以检索参数paramN后面的附加参数。
调用va_start的函数在返回之前也应调用va_end。

参数不能是引用类型,也不能是与传递没有参数的参数时产生的类型不兼容的类型。

/* va_start example */
#include <stdio.h>      /* printf */
#include <stdarg.h>     /* va_list, va_start, va_arg, va_end */void PrintFloats (int n, ...)
{int i;double val;printf ("Printing floats:");va_list vl;va_start(vl,n);for (i=0;i<n;i++){val=va_arg(vl,double);printf (" [%.2f]",val);}va_end(vl);printf ("\n");
}int main ()
{PrintFloats (3,3.14159,2.71828,1.41421);return 0;
}

va_end
定义:
结束使用变量参数列表
执行适当的操作,以便于使用va_list对象ap检索其附加参数的函数正常返回。
无论何时从该函数调用va_start,都应在函数返回之前调用该宏。

返回值:
none

实例:

/* va_end example */
#include <stdio.h>      /* puts */
#include <stdarg.h>     /* va_list, va_start, va_arg, va_end */void PrintLines (char* first, ...)
{char* str;va_list vl;str=first;va_start(vl,first);do {puts(str);str=va_arg(vl,char*);} while (str!=NULL);va_end(vl);
}int main ()
{PrintLines ("First","Second","Third","Fourth",NULL);return 0;
}

参考:
http://www.cplusplus.com/reference/cstdarg/va_start/

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/449046.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

docker save 与 docker export 的区别

缘起 前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 docker save和docker export都能导出镜像包&#xff0c;咋看起来区别似乎不大。本文就针对这个问题&#xff0c;试图搞清楚docker…

这5种员工,千万不能重用

一、道德品质存在缺陷之人不能用。 &#xff08;小人不能用&#xff09; 当今社会&#xff0c;我们在评论一个人的好坏时&#xff0c;首先看到的是他的道德素养。这方面界定这个人的为人本质。一个道德本质不行、差的人&#xff0c;我们统称为小人。小人的本质表现为&#xff…

docker:安装mysql多个

Docker 容器镜像删除 docker commit了一个镜像之后想删除旧的镜像&#xff0c;出现以下报错 Error response from daemon: conflict: unable to delete 6f8214d56bfc (cannot be forced) - image has dependent child images 解决思路&#xff1a; docker save保存容器 docker …

PS图片后期之超简易造光调色方法

技法是死的&#xff0c;而人是活的&#xff0c;说的简单一点就是我们要学会开拓一下思维&#xff0c;调色的方法并不是只有【可选颜色】而已。 在修片之前&#xff0c;我们先要学会分析&#xff0c;在拍摄这一组照片时我希望有一种夕阳的光穿透晒在脸庞的感觉&#xff0c;而左边…

onvif发送订阅规则

发送消息的主要内容&#xff1a; 1、初始化请求 2、填充要发送的数据 3、发送并接受返回的数据 4、解析数据 5、清理缓存 正文 1、初始化onvif请求 定义一个onvif请求req 定义一个onvif标签tag 临时资源*tmpValue 临时结果tmpresult 主机ip acHostIp[16] ip地址 acLocalAddr…

在 idea 中为类和方法自动生成注释

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 项目规范中有一项常见的要求&#xff0c;在类级和方法级注释里写上创建者和创建时间&#xff0c;在方法级注释里写上创建者和维护者&…

《PWA实战:面向下一代的Progressive Web APP》读书笔记

前言 之前自己根据网上的教程学习写了几个PWA的小Demo&#xff0c;觉得PWA很有意思&#xff0c;想要更多的了解一下PWA&#xff0c;所以读了这本书。这本书是MANNIN出版社出的&#xff0c;所以书里的代码都有非常棒的注释&#xff0c;因此这篇笔记不会展开讲代码&#xff0c;而…

2进制 , 8进制 , 10进制 , 16进制 , 介绍 及 相互转换 及 快速转换

为什么要使用进制数 数据在计算机中的表示&#xff0c;最终以二进制的形式存在 , 就是各种 <黑客帝国>电影中那些 0101010… 的数字 ; 我们操作计算机 , 实际 就是 使用 程序 和 软件 在 计算机上 各种读写数据, 如果我们直接操作二进制的话 , 面对这么长的数进行思考或…

如何战胜浮躁

浮躁是当下年轻人的通病&#xff0c;因为各种压力或心智不够成熟等原因&#xff0c;导致在生活工作当中经常处于一种情绪无法自如控制的状态。这种浮躁的状态不仅影响到正常的工作生活&#xff0c;长时间的话还会影响到身体健康。本篇就来分享一些如何战胜浮躁的方法&#xff0…

wireshark的使用方法(转)

https://www.cr173.com/html/20128_all.html

python脚本调用外部程序的若干种方式以及利弊

脚本执行外部程序的常用几种方式&#xff1a; # os.popen(path)# subprocess.run(cmd,shellTrue)# subprocess.check_call(cmd,shell True)# os.system(command)# win32api.ShellExecute(0, open, path, , , 0) os.popen(path) 和 os.system(command) 这两种执行的效果是差不多…

解决: Your ApplicationContext is unlikely to start due to a @ComponentScan of the default

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 用 springboot 搭一个小应用 报错&#xff1a; Your ApplicationContext is unlikely to start due to a ComponentScan of the defaul…

藏经阁计划发布一年,阿里知识引擎有哪些技术突破?

为什么80%的码农都做不了架构师&#xff1f;>>> 阿里妹导读&#xff1a;2018年4月阿里巴巴业务平台事业部——知识图谱团队联合清华大学、浙江大学、中科院自动化所、中科院软件所、苏州大学等五家机构&#xff0c;联合发布藏经阁&#xff08;知识引擎&#xff09;…

45度做人 90度做事 180度为人 360度处事

面对社会复杂的关系和瞬时而变的人情世故&#xff0c;许多人会感叹活得太累。其实&#xff0c;只要我们保持平和的心态&#xff0c;不去计较人生的成败&#xff0c;始终保持一颗感恩的心&#xff0c;同样可以活得轻松自在&#xff0c;活出人生的精彩!以度量人的处事原则&#x…

SDK 和 API 的区别是什么

SDK 就是 Software Development Kit 的缩写&#xff0c;翻译过来——软件开发工具包。这是一个覆盖面相当广泛的名词&#xff0c;可以这么说&#xff1a;辅助开发某一类软件的相关文档、范例和工具的集合都可以叫做SDK。SDK被开发出来是为了减少程序员工作量的。比如——有公司…

解决413 Request Entity Too Large

解决413 Request Entity Too Large 修改nginx配置 这是最简单的一个做法&#xff0c;着报错原因是nginx不允许上传配置过大的文件&#xff0c;那么件把nginx的上传大小配置调高就好。1、打开nginx主配置文件nginx.conf&#xff0c;一般在/usr/local/nginx/conf/nginx.conf这个位…

解决 springboot 启动报错 -- Cannot determine embedded database driver class for database type NONE

前些天发现了一个巨牛的人工智能学习网站&#xff0c;通俗易懂&#xff0c;风趣幽默&#xff0c;忍不住分享一下给大家。点击跳转到教程。 1. 问题描述 我只是新建一个全新的 springboot 工程&#xff0c;什么都没有写的情况下启动报错如题&#xff1a; Cannot determine em…

Luogu P3731 [HAOI2017]新型城市化

题目显然可以转化为求每一条边对二分图最大独立集的贡献&#xff0c;二分图最大独立集\(\)点数\(-\)最大匹配数&#xff0c;我们就有了\(50pts\)做法。 正解的做法是在原图上跑\(Tarjan\)&#xff0c;最开始我想复杂了&#xff0c;后来才意识到&#xff0c;只要存在这样一个强连…

【数据结构算法】快排/归并/堆排序 c++

一个用来了解数据结构算法&#xff08;各种排序&#xff0c;列表&#xff0c;树等&#xff09;很友好的网站&#xff1a; https://visualgo.net/en 该题目来自于牛客&#xff1a;算法篇-排序问题 快排&#xff08;必备&#xff09;归并&#xff08;体会分治&#xff09;堆(自…

人生的八种投资

1、最心甘情愿的投资&#xff1a;儿女 投资大师罗杰斯一生成功无数&#xff0c;问及他最得意的一次投资时&#xff0c;他说&#xff0c;是自己的女儿。“我曾经觉得养孩子是既麻烦又浪费钱的事情&#xff0c;有了女儿才知道&#xff0c;这才是最能给你带来幸福感的投资。” …