1.代码
#include <stdio.h>
#include <stdarg.h>
void test(int i);
void SomeArg(int a, ...);
//参数类型不确定,个数不确定的情况
int main(void) {
test(12);
//函数地址00007FF7B7D512B2、00007FF700DD12B2
printf("%#p,%p\n", test, &test);
//函数调用本质上是地址加参数
(&test)(12);
//函数可以在函数内:声明。
void fun(void);
fun();
//不确定参数个数
SomeArg(2, 2, 7.1);
return 0;
}
void test(int i){
printf("这是test\n");
//fun();也可以
}
void fun(void) {
printf("这是fun\n");
}
void SomeArg(int a, ...) {
va_list alist;
va_start(alist, a);
printf("%d\n", va_arg(alist,int));
printf("%f\n", va_arg(alist, double));
}
2.输出结果:
这是test
00007FF61D9712B2,00007FF61D9712B2
这是test
这是fun
2
7.100000