初识-----可变参数列表

8 篇文章 0 订阅

首先,我们需要知道可变参数列表到底是什么,它又有什么作用?

一般我们在编程的时候,函数中形参的个数通常是确定的,在调用时要依次给出与形参对应的实参。但在某些情况下我们希望函数的参数个数可以根据需要确定,因此c语言引入可变参数函数。

因此,它的一个很重要的作用就是我们可以根据需要来确定形参个数,而不用多次定义不同的函数来调用。

对于可变参数列表,我们首先需要了解一些编程中会用到的东西。

首先,我们需要用到头文件 stdarg.h   来定义几个函数

这个是我们的部分程序,其中:

va_list 是用于存放参数列表的数据结构。

va_start 函数根据初始化last来初始化参数列表。

va_arg 函数用于从参数列表中取出一个参数,参数类型由type指定。

va_end 函数执行清理参数列表的工作。

说明:

va_start(itor, unusedInt);用于根据unusedInt初始化可变参数列表。

va_arg(itor, char *);用于从参数列表中取出一个参数,其中的char *用于指定所取的参数的类型为字符串。每次调用va_arg后,参数列表itor都会被更改,以使得下次调用时能得到下一个参数。

va_end(itor);用于对参数列表进行一些清理工作。调用完va_end后,itor便不再有效。

关于这几个代码的具体的作用,可以在百度上查找进行了解。

下面进入实例,我们先看一段代码:

我们可以看到,对于这段代码,我们只定义了一个被调用的函数,但是在主函数中,我们用同一个函数,实现了对三个含有不同参数数量的函数的输出,这个就是可变参数列表的一个作用。

然后看另一个代码:

同样的道理,这次我们输出的是字符串。

以上就是我个人关于可变参数列表的一些理解,欢迎纠错。 我们共同进步。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值