C语言中,参数数量可变函数如何编写?
请教高手:在C语言中,参数数量可变函数如何编写?
比如,最典型的就是广为人用的printf(const char *, ...)了。我的问题是:
1. 我连参数的数量都不知道,如何引用它呢?也就是说,我在编写这个函数时,在那里找到参数呢?我总觉得,这种函数的参数传递会比较奇怪。
2. 参数的类型不同,则存贮空间也大多不同,如何控制?
我见过有些与此相关的代码,可惜是函数里面加函数,加了好几层,早就看晕了。期待高手一针见血式的讲出其本质。最好能不加(子)函数来实现,如果能有让人非常明白的代码就更好了。