http://coolshell.cn/articles/2801.html
#include <stdio.h>
#define func(...) myfunc((struct mystru){__VA_ARGS__})
structmystru { constchar *name; intnumber; };
voidmyfunc(structmystru ms )
{
printf("%s: %d\n", ms.name ?: "untitled", ms.number);
}
intmain(intargc, char**argv)
{
func("three", 3);
func("hello");
func(.name = "zero");
func(.number = argc, .name = "argc",);
func(.number = 42);
return0;
}