open函数有两种声明:
int open(const char *pathname, int flags);
int open(const char *pathname, int flags, mode_t mode);
疑问:
C语言不支持函数重载,怎么可以一个函数名字有两种参数列表呢?
在<fcntl.h>中,这样声明:
int open (const char *__file, int __oflag, ...) ;
结论:
原来open函数是一个可变参数的函数。
实验:
实现了一个可变参数的函数。
https://github.com/yinming-shenzhen/C_language-variable_parameter