Mam funkcję i chcę przekazać jej tablicę znaków *, ale nie chcę tworzyć zmiennej tylko do tego celu, np. to:C: Przekazywanie tablicy do funkcji "w locie"
char *bar[]={"aa","bb","cc"};
foobar=foo(bar);
Aby obejść, że próbowałem to:
foobar=foo({"aa","bb","cc"});
Ale to nie działa. Próbowałem również:
foobar=foo("aa\0bb\0cc");
Kompiluje się z ostrzeżeniem i jeśli wykonam program, zawiesza się.
Próbowałem także grać z gwiazdkami i znakami ampersand też, ale nie mogłem zmusić go do prawidłowego działania.
Czy to możliwe? Jeśli tak to jak?
I dlatego prawdopodobnie nie jest dostępna, jeśli kompilator jest MSVC. –
+1 za wzmiankę o tym, że jest to funkcja C99 –
Dzięki, właśnie tego potrzebowałem. –