名称描述相容  // 作用描述

va_start使va_list指向起始的参数  

va_arg检索参数C89

va_end释放va_list

va_copy拷贝va_list的内容

实例解析:

#include <stdio.h> #include <stdarg.h> void printargs(int arg1, ...) /* 输出所有int类型的参数,直到-1结束 */  //参数列表中, 后面的元素类型不一定,va_arg()函数的返回类型决定的 {

va_list ap;//va_list 是数据类型     int i;

va_start(ap, arg1); //两个参数:第一个参数为va_list 数据类型的变量,第二个参数为函数第一个参数的名称     // 接着每一调用va_arg就会返回下一个参数,     for (i = arg1; i != -1; i = va_arg(ap, int)) //va_arg的第一个参数为va_list,第二个参数为返回的数据类型     printf("%d ", i);     double f;     f  = va_arg(ap,double);    printf("\t浮点型的数据%lf",f);     va_end(ap); //最后va_end必须在函数返回前被va_list呼叫(     putchar('\n'); } //va_copy,它能够复制va_list而va_copy(va2, va1)意思为拷贝va1到va2。 int main(void) { printargs(5, 20, 14, 84, 97, 15, 24, 48, -1,0.123); printargs(84, 51, -1,0.234); printargs(-1,34.22); printargs(1, -1,23.23); return 0; }

自己赋值粘贴运行;

最新文章

  1. Rails学习笔记二
  2. POJ 1496 Word Index
  3. 3D touch的 使用心得
  4. 问题-XE8客户端访问Webservice时报“no selected dom vendor”
  5. iOS中的动画
  6. yii2的安装
  7. mysql中的第三范式
  8. php中文乱码
  9. Remove Duplicates from Sorted Array 解答
  10. 安装PHP
  11. STM32小结
  12. 学习JAVA的几大优处
  13. es6属性基础教学,30分钟包会
  14. windows下安装MongoDB扩展和配置
  15. mybatis cloud not autowired
  16. bzoj千题计划201:bzoj1820: [JSOI2010]Express Service 快递服务
  17. 增加定时检测linux占用内存,及时清理功能
  18. n以内的1的个数
  19. 多页面应用_vue
  20. homogeneous clip space and NDC

热门文章

  1. 第四十四章 微服务CICD(6)- gitlab + jenkins + docker + k8s
  2. IE10一下的img标签问题
  3. oracle 第一章总结
  4. 如何去掉Eclipse里面自动追加的一些注释!!!内详
  5. OA及权限系统
  6. 数据库SQL
  7. javascript面向对象(2)
  8. shell常用命令之curl: -w,–write-out参数详解
  9. SQL Split
  10. 1813. M进制数问题