c语言哪些函数参数个数可变,C语言中实现参数个数可变函数

C语言中实现参数个数可变函数

导语:C语言中实现参数个数可变函数:其实,我总觉得有个结论应该是必然的。既然很多语言最初都是由C语言发展来的,还有很多语言的基础是用C语言实现的。

那么,这些用C语言实现的高级语言的很多特性或者是功能在一定程度上应该是在C语言的开发中可以模拟的。正是如此,很多时候考虑诸如XXX是否可以用C语言实现的时候,应该无需考虑就能够给出一个肯定的答复。

关于参数可变的函数的实现其实还不是这种情况,但是让我想到的是“是否能够实现参数个数可变的C语言功能”时,基本上可以给出一个可以的答案。

在C语言中,参数个数可变的函数功能实现依赖于几个stdarg.h中定义的宏。在使用的.行为上,它们看起来像是函数。几个宏清单如下:

va_list:行为有点像数据类型

va_start:行为有点像函数,参数为va_list类型的参数表以及参数个数

va_arg:行为像函数,参数为va_list参数表以及参数数据类型

va_end:行为像函数,参数为va_list的参数表

示范代码如下;

通过上面的结果可以看出,通过这种特定宏的方式可以实现多参数的C语言函数,只是在函数原型中只是指明了第一个参数的类型,其余的参数类型全都进行了缺省的设置。

【C语言中实现参数个数可变函数】相关文章:

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值