码迷,mamicode.com
首页 > 其他好文 > 详细

可变参数函数

时间:2016-07-31 15:46:04      阅读:125      评论:0      收藏:0      [点我收藏+]

标签:

1.C标准库中有一组宏,可用于建立可变参数函数(接受数量可变参数的函数)

举例:

#include<stdarg.h>//包含stdarg.h头文件,处理可变参数函数
#include<stdio.h>
void print_ints(int args,...);//args后是可变参数
{
    va_list ap;//va_list用来保存可变参数
    va_start(ap,args);//说明可变参数从哪里开始
    int i;
    for (i = 0;i < args;i++)
        printf("ragument:%i\n",va_arg(ap,int));//va_arg接受两个值,va_list和参数类型
    va_end(ap);//用va_end告诉c做完了
}
void main()
{
    print_ints(3,79,101,32);
}

2.va_end、va_start是宏,不是函数

3.可变参数函数中必须有普通参数,这样才能把他的名字传给va_start

4.读取参数时不能超出给出的函数个数

5.需要知道要读取的参数的类型

可变参数函数

标签:

原文地址:http://www.cnblogs.com/syyy/p/5723046.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!