关于c语言中的"..."

今天在看Linux下C的代码,发现一段感觉很不合情理的代码

 

void dump_msg(const char *fmt, ...)
{
	va_list ap;
	va_start(ap, fmt);
	if (dump_file){
		vfprintf(dump_file, fmt, ap);
	}
	va_end(ap);
}

 

注:dump_file 全局变量

 

 参数中的"..."我从来没见过,让我很是惊奇,这也能编译通过?算是我孤陋寡闻了,惭愧呀~~~

 

不过从代码中大概也可以理解

 

"..."中传过来的值应该是保存在va_list这个列表中了

 

查了下文档,一下就清晰很多了,其实这个我们经常用到

 

就是:int printf(const char* format , ...)

你懂的,我就不说了。

你可能感兴趣的:(C语言)