首页 > 其他 > 详细

可变参数列表

时间:2015-12-05 01:58:47      阅读:269      评论:0      收藏:0      [点我收藏+]

  可变参数列表是通过宏来实现的。这些宏定义于stdarg.h头文件中,它是标准库的一部分。这个头文件声明了一个类型va_list和三个宏---va_start,va_arg,va_end。可声明一个类型为va_list的变量,与这几个宏配合使用,访问参数。

  va_list:类型为char *。

  va_start:访问参数列表中未确定的部分,接收两个参数。第一个参数为va_list变量的名字,第二个参数为省略号前最后一个有名字的参数。

  va_arg:接收两个参数。第一个参数为va_list变量的名字,第二个参数为指向参数列表中下一个参数的类型。

  va_end:访问完最后一个可变参数时,调用它。

可变参数的限制:

(1)可变参数必须从头按顺序访问。不可直接访问中间某一元素。

(2)因可变参数部分并没有原型,所以在传参中,所有传给函数的值都将执行缺省参数类型提升。

  1. 用可变参数列表模拟实现printf函数。

    技术分享

  2. 用可变参数列表求平均值。

    技术分享

  3. 用可变参数列表求最大值。

    技术分享




可变参数列表

原文:http://10810429.blog.51cto.com/10800429/1719739

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