新人报道+函数变参数的提问~~!!
主要是想学习函数变参数的传递,就单纯的想把一个自己定义的参数作为直接参数传递进函数显示,另一个也是自己定义的参数作为变参数传递进函数显示,作为比较。但是作为变参数的自己定义的那个新类型的参数传递进去后,显示怎么都不对! 请问下大家啊,小弟在此先拜谢了~~!程序如下:#include <stdio.h>
#include <stdarg.h>
typedef struct item
{ char name[20];
char kind[20];
}Item;
void showname (Item,locitem,...);
void main ()
{
Item locitem1 = {"aaa","aaa"};
Item locitem1 = {"bbb","bbb"};
showname (locitem1,locitem2);
}
void showname (Item item,...)
{
va_list ap;
int num = 1;
Item loc_item;
va_start (ap, num);
loc_item = va_arg(ap,Item);
printf("%s is %s\n",loc_item.name,loc_item.kind);
printf("other: %s is %s\n", item.name,item.kind);
va_end (ap);
}