c 语言 函数多个参数,很多C语言初学者都非常好奇的问题,怎样定义可以可变参数函数?...

如果一定要说哪段C语言代码最“著名”,我想非“hello world”莫属了。大多数初学者人生中编写的第一段C语言代码就是这段“里程碑”式的代码:

#include

int main()

{

printf("hello world\n");

return 0;}

也正因为这段著名的程序,printf() 函数成为大多数C语言初学者接触到的第一个标准库函数。

437cb1d4b809eab3e09657ee56a882ec.png“里程碑”式的代码

C语言中的可变参数函数

随着学习的推进,初学者逐步学会调用别的C语言函数,以及定义自己的函数,观察力敏锐的会注意到 printf() 函数似乎与其他函数不太一样——printf()函数没有固定数目的参数,它似乎可以接收任意多的参数。

而其他C语言函数则不同,它们大都有固定数量的参数(0个,3个等),调用这些函数必须传递对应数目的参数。

有些持有“特殊论”的初学者认为像 printf() 这样的“可变参数”函数是“特殊的”,是系统定义的,我们程序员只能定义固定参数的函数,其实不是的,C语言是有手段定义自己“可变参数”函数的。

printf() 究竟是不是只能由系统定义的“特殊”函数呢?

怎样定义自己的可变参数函数?

事实上,标准库 就是方便C语言程序员定义自己的“可变参数”函数的。如果读者和我一样使用的是 Linux 系统

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值