实现可变参函数
在于理解而不在于代码 入门级指针,在此基础上 修改 暂不涉及动态内存分配
#include"stdio.h"
#include"stdarg.h"
//有兴趣的朋友可以在vc下展开 va_list 宏
//当然也可以在linux下 找man
void fun_para(int num,...)
{
uint8_t pa=0,val=0;
va_list current;
va_start(current,num);//试写出 va_list va_start va_arg 宏
for(;val<num;val++)
{
pa=va_arg(current,int);
printf("%d\n",pa);
}
va_end(current);
}
int main(void)
{
fun_para(4,1,2,3,4);
}
/*be careful (void *) 类型参数 不能作为右值赋给一个已定义类型point 反过来可以*/
//有兴趣的朋友 可以深入研究 任意类型 可变参函数写法
|