en fait ce que j'aurais voulu faire, ça aurait été quelquechode du genre fonction(variable, mode), et si mode n'est pas defini, traiter avec un truc par defaut. Donc, grace à vos indications, j'apprends que ce n'est possible facilement qu'en C++ (bon point ici pour ce langage).
En revanche, en utilisant ce que dit jesus_christ, avec une liste de pointeurs, on peut toujours faire cela!
Reste a present le probleme de l'identification des variables (je n'aime pas ces histoires de va_list et autres). Mais on pourrait eventuellement le faire avec un pointeur sur un tableau de pointeurs...
Les arguments fixes ayant une place precise, et comme premier argument variable, on aurait un deuxieme tableau de pointeurs indiquant le "nom" des variables, et a la suite du premier tableau, leur valeur...
M'enfin, ce serait bien sur dans le cas ou ce serait vraiement necessaire...
(en fait pourquoi pas carrement une liste chainée... ça serait plus simple!)
(en fait je pense que ce qui me gene le plus en C, en dehors de l'absence de petites fonctions comme is_set(var) ou exists(var), c'est l'absence d'une doc "officielle" et unifiée, comme la doc php sur php.net... (ou java par ex, meme si je prefere celle de php)
En tous cas, merci des infos, ça me donnerait *presque* envie de coder en C pour le plaisir