Tengo una función, y quiero pasar una matriz de char * a ella, pero no quiero crear una variable solo para hacer eso, como esto:C: pasar una matriz a una función 'sobre la marcha'
char *bar[]={"aa","bb","cc"};
foobar=foo(bar);
Para conseguir alrededor de eso, he intentado esto:
foobar=foo({"aa","bb","cc"});
Pero no funciona. También probé esto:
foobar=foo("aa\0bb\0cc");
Compila con una advertencia y si ejecuto el programa, se congela.
Intenté jugar un poco con asteriscos y símbolos pero no pude hacerlo funcionar correctamente.
¿Es posible? ¿Si es así, cómo?
Y, por lo tanto, probablemente no esté disponible si el compilador es MSVC. –
+1 por mencionar que esta es una característica C99 –
Gracias, eso es justo lo que necesitaba. –