C语言可变长参数函数编写机制


C语言可变长参数函数编写机制

源码和资料转接C/C++学习乐园Q群:747821062

C语言可变长参数函数编写机制

话说上哪里去扣6,你想过没?

什么是可变长参数

顾名思义可变长参数,就是函数参数可以自动增长,其实这个东西大家早就接触过了,C语言基本的输入输出函数就是可变长参数。

可变参数函数声明方式都是类似的。我们一起来偷看下“内裤”,发现标准库中是这样声明printf函数的。

C语言可变长参数函数编写机制

让看不懂的东西见鬼去吧

最终你要学习就是这个:int printf(const char * format, ...);

C语言可变长参数函数编写机制

要学的不仅仅是语法,更重要的是解决问题的能力

可变长参数实现基础

三宏一类型:三个宏(va_start、va_end、va_arg)和一个类型(va_list)使用前不要忘记使用#include<stdarg>

C语言可变长参数函数编写机制

了解一下足以

  1. void va_start ( va_list ap, v); 功能:初始可变参数列表; ap: 可变参数列表地址,v:确定的参数 .
  2. void va_end ( va_list ap ); 功能:关闭参数列表,即把ap置空。
  3. type va_arg ( va_list ap, t);功能:返回下一个参数的列表

案例学习

1.头文件

C语言可变长参数函数编写机制

2.可变参数函数设计

C语言可变长参数函数编写机制

3步就可以搞定了

3.主函数测试

C语言可变长参数函数编写机制

最后,喜欢得可以驻足C/C++学习群:747821062

C语言可变长参数函数编写机制

下次相遇你是否变得更优秀?