首页 > 编程语言 > 详细

C语言函数可变参数列表

时间:2015-07-26 22:22:25      阅读:289      评论:0      收藏:0      [点我收藏+]

  C语言允许使用可变参数列表,我们常用的printf函数即为可变参数函数,C标准库提供了stdarg.h为我们提供了这方面支持;该头文件提供了一些类型和宏来支持可变参数列表,包括类型va_list,宏va_start、va_arg、va_end;

  可变函数参数定义方法:

#include <stdarg.h>

void func(int count,...){
        va_list ap;
        int ix, tmp;

        va_start(ap, a);
        
        for(ix=0;ix < count; ++ix){
                tmp = va_arg(ap, int);
                //process the param
        }
        
        va_end(ap);
}    

   函数的第一个参数count是必不可少的,即你定义的可变参数列表函数至少要有一个参数;

  va_list:一般会定义为char *;

  va_start(va_list ap, paramN):初始化ap的值,指向第一个可变参数

  va_arg(va_list ap, TYPE):将根据TYPE从ap指向出获得实际的值,并移动ap指针

  va_end: 一般什么都不做

C语言函数可变参数列表

原文:http://www.cnblogs.com/Wali8822/p/4678711.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!