Ich habe eine Funktion, und ich möchte ein Array von char * übergeben, aber ich möchte nicht eine Variable nur dafür zu erstellen, wie dies:C: Übergeben eines Arrays in eine Funktion 'on the fly'
char *bar[]={"aa","bb","cc"};
foobar=foo(bar);
Um das zu bekommen, habe ich versucht, dieses:
foobar=foo({"aa","bb","cc"});
Aber es funktioniert nicht. Ich probierte auch das:
foobar=foo("aa\0bb\0cc");
Es kompiliert mit einer Warnung und wenn ich das Programm ausführe, friert es ein.
Ich habe versucht, ein bisschen mit Sternchen und Ampersands zu spielen, aber ich konnte es nicht richtig funktionieren.
Ist es überhaupt möglich? Wenn das so ist, wie?
Und daher ist wahrscheinlich nicht verfügbar, wenn der Compiler MSVC ist. –
+1 für die Erwähnung, dass dies eine C99-Funktion ist –
Danke, das ist genau das, was ich brauchte. –