c言語における「...」について

582 ワード

今日Linuxの下のCのコードを見て、1段のとても道理に合わないコードを発見します
 
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_に保存されているはずです.リストこのリストに
 
ドキュメントを調べてみると、すぐにはっきりしていますが、実はこれはよく使われています.
 
つまりint printf(const char*format,...)
君は知っているから,私は言わない.