實現可變參函數
在于理解而不在于代碼 入門級指針,在此基礎上 修改 暫不涉及動態內存分配
#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 反過來可以*/
//有興趣的朋友 可以深入研究 任意類型 可變參函數寫法
|