码迷,mamicode.com
首页 > 编程语言 > 详细

C语言函数可变参数列表

时间:2015-07-26 22:23:17      阅读:188      评论: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
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!