其实我们接触的第一个C语言函数 int printf(const char *format, …);就是可变长参数实现的。open函数就有两个原型 int open(const char *pathname, int flags); int open(const char *pathname, int flags, mode_t mode);
但是这并不是函数重载,因为C语言是不支持函数重载的。这是利用变长参数实现的。
This is The C Code
[root@selboo.com.cn ~]$ cat c.c
#include <stdio.h>
int main ()
{
int a = 1, b = 2;
printf ("Selboo…n");
}
[root@selboo.com.cn ~]$ gcc c.c
[root@selboo.com.cn ~]$ ./a.out
Selboo…
Parsed in 0.008 seconds at 24.33 KB/s
上面 printf 就是可变长参数,它的原型声明 在 stdio.h 里面可以找到.
…………